tutoriales que multinodo fases configuracion caracteristicas hadoop mapreduce reducers

que - Hadoop MapReduce: aclaración sobre el número de reductores



que es mapreduce hadoop (2)

En el marco MapReduce, se utiliza un reductor para cada clave generada por el asignador.

Entonces, uno pensaría que especificar el número de Reductores en Hadoop MapReduce no tendría ningún sentido porque depende del programa. Sin embargo, Hadoop le permite especificar el número de reductores a usar (-D mapred.reduce.tasks = # de reductores).

¿Qué significa esto? ¿Es el valor del parámetro para el número de reductores que especifica cuántos recursos de la máquina van a los reductores en lugar del número de reductores reales utilizados?


Para simplificar la respuesta de @Judge Mental (muy precisa) un poco: una tarea de reducción puede funcionar en muchas teclas a la vez, pero el parámetro mapred.reduce.tasks = # declara cuántas tareas de reducción simultáneas se ejecutarán para un trabajo específico.

Un ejemplo si mapred.reduce.tasks = 10:
Tiene 2.000 teclas, cada tecla con 50 valores (para una distribución uniforme de 10.000 k: pares de v). Cada reductor debe manejar aproximadamente 200 llaves (1,000 k: pares v).

Un ejemplo si mapred.reduce.tasks = 20:
Tiene 2.000 teclas, cada tecla con 50 valores (para una distribución uniforme de 10.000 k: pares de v). Cada reductor debería manejar aproximadamente 100 llaves (500 k: pares de v).

En el ejemplo anterior, cuantas menos teclas tenga cada reductor, más rápido será el trabajo en general ... siempre y cuando tenga los recursos del reductor disponibles en el clúster, por supuesto.


un reductor se usa para cada clave generada por el mapeador

Este comentario no es correcto Se realiza una llamada al método reduce () para cada clave agrupada por el comparador de agrupación. Un reductor (tarea) es un proceso que maneja cero o más llamadas para reducir (). La propiedad a la que se refiere está hablando de la cantidad de tareas de reducción.