Implementación de Combiner y trabajo interno.

Resuelto Aniruddha Sinha asked hace 9 años • 3 respuestas

Quiero usar un combinador en mi código MR, por ejemplo WordCount.

¿Cómo debo implementarlo?

¿Qué tipo de datos se pasan al reductor desde el combinador?

Sería fantástico si alguno de ustedes pudiera proporcionarme códigos tanto del Combinador como del Reductor.

Será mejor si puedes explicar cómo funciona el combinador.

Soy nuevo en mapreduce y estoy en una etapa de aprendizaje.

Gracias de antemano :)

Aniruddha Sinha avatar Oct 29 '15 12:10 Aniruddha Sinha
Aceptado

el combinador está haciendo el mismo trabajo que el reductor, puede implementar la interfaz del reductor y anular su método de reducción. Si usa el combinador, una cantidad menor de ancho de banda de la red es suficiente para transferir el intermedio (o/p del asignador) al reductor.

puede usar el mismo código del método de reducción (pertenece a su propio reductor) en el método de reducción del combinador si su aplicación utilizada en el reductor obedece tanto a la conmutativa como a la asociativa.

No existe una regla para ejecutar el combinador incluso si escribe el combinador para su aplicación MR (reducción de mapas). Para ejecutar el combinador, asegúrese de que la cantidad de derrames debe ser al menos 3.

por ejemplo, la salida de mi asignador es,,,,,<34>. Sin combinador, mi entrada al reductor es. Con el combinador, puedo pasar la entrada al reductor es como.

steve brad avatar Jun 10 '2016 20:06 steve brad

Combinerse utiliza entre el mapeador y el reductor para reducir la cantidad de transferencia de datos entre el mapa y la fase de reducción.

CombinerLa implementación es similar a la implementación del reductor. Debería implementar el método de reducción de la interfaz de reducción. Los pares de valores clave de entrada y salida deben ser similares a los del reductor.

En nuestro controlador podemos mencionar nuestra clase de reductor como combinador.

job.setCombinerClass(MyReducer.class)

Combinerssólo se puede utilizar en funciones conmutativas y asociativas.

For example maximum of numbers

Map 1 output - (23,27, 31) -> Combiner -> 31
Map 2 output - (22,36,33,45) -> Combiner -> 45
Map 3 output - (41,33,15,16) -> Combiner -> 41

Combiner acts on each of the mapper's output.

Combiner output - (31,45,41) ->Reducer -> 45

La cantidad de transferencia de datos ahora se reduce, como se desprende del ejemplo.

madhu avatar Oct 29 '2015 07:10 madhu