Pregunta sobre mapreduce, hadoop – hadoop: diferencia entre 0 reductor y reductor de identidad?

24

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

0 reductor significa que se omitirá el paso de reducción y la salida del asignador será la salida final¿Reductor de identidad significa que la ordenación y la ordenación seguirán teniendo lugar?

Tu respuesta

4   la respuesta
5

los resultados en <# de reductores> archivos de salida. Esto puede ser útil si está utilizando Amazon Web Services para escribir directamente en S3, especialmente si la salida del asignador es pequeña (por ejemplo, un grep / búsqueda de un registro), y tiene muchos asignadores (por ejemplo, 1000).

Hola Dolan, ¿podrías explicar un poco sobre el uso de Identity Reducer para combinar los resultados en menos archivos? Me enfrentaba a problemas similares: tenía muchos archivos pequeños generados por trabajos de solo mapas. ¿Sería menos eficiente en comparación con los trabajos de solo mapas? Yitong Zhou
Yitong: hay una sobrecarga adicional cuando se usan los Reductores de Identidad sobre ninguno porque los resultados del Mapeador deben ser agrupados en X depósitos y luego enviados a los X reductores (es decir, donde X es su número deseado de archivos de salida), ordenados y luego se guarda en el directorio de salida en HDFS / S3 / etc. Si tiene un montón de datos, entonces deberá tener cuidado con esta sobrecarga adicional, ya que puede ser importante en algunos casos. Alternativamente, si guarda en HDFS, puede usarhdfs cat para transmitir todos los archivos de salida en una ubicación. No sé si S3 tiene un mecanismo de lectura de flujo similar. Dolan Antenucci
3

La principal diferencia entre "No Reductor"(mapred.reduce.tasks = 0) y "Reductor estándar" que es IdentityReducer(mapred.reduce.tasks = 1 etc) es cuando se usa "Sin reductor" no hay procesos de partición y barajado después de la etapa MAP. Por lo tanto, en este caso, obtendrá resultados "puros" de sus asignadores sin ningún procesamiento adicional. Ayuda para el desarrollo y depuración de puprases, pero no solo.

37

Tu entendimiento es correcto. Lo definiría de la siguiente manera: Si no necesita ordenar los resultados del mapa, establezca 0 reducido y el trabajo se llama solo mapa.
Si necesita ordenar los resultados del mapeo, pero no necesita ninguna agregación, elija el reductor de identidad.
Y para completar el cuadro tenemos un tercer caso: necesitamos agregación y, en este caso, necesitamos reductor.

3

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

Preguntas relacionadas