google example hadoop mapreduce

example - hadoop: diferencia entre 0 reductor y reductor de identidad?



mapreduce hdfs (4)

Depende de los requisitos de su negocio. Si está haciendo una palabra, debe reducir la salida de su mapa para obtener un resultado total. Si solo desea cambiar las palabras a mayúsculas, no necesita reducirlas.

Solo intento confirmar mi comprensión de la diferencia entre 0 reductor y reductor de identidad.

  • 0 reductor significa que el paso de reducción se saltará y la salida del asignador será la salida final
  • ¿El reductor de identidad significa que la reorganización / clasificación seguirá teniendo lugar?

La principal diferencia entre "No Reducer" (mapred.reduce.tasks = 0) y "Standard reducer" que es IdentityReducer (mapred.reduce.tasks = 1 etc.) es cuando usas "No reducer", no hay procesos de partición y mezcla después de MAP escenario. Por lo tanto, en este caso obtendrá salida "pura" de sus mapeadores sin ningún procesamiento posterior. Ayuda en el desarrollo y depuración de puposas, pero no solo.


Otro caso de uso para usar Identity Reducer es combinar todos los resultados en archivos de salida <# de reductores>. Esto puede ser útil si está usando Amazon Web Services para escribir directamente en S3, especialmente si el resultado del mapper es pequeño (por ejemplo, un grep / búsqueda de un registro), y tiene muchos mapeadores (por ejemplo, 1000).


Tu comprensión es correcta. Lo definiría como sigue: si no necesita clasificar los resultados del mapa, establece 0 reducido y el trabajo se llama solo mapa.
Si necesita ordenar los resultados de la asignación, pero no necesita ninguna agregación, elige el reductor de identidad.
Y para completar la imagen, tenemos un tercer caso: necesitamos agregación y, en este caso, necesitamos reductor.