La fase reducir de flujo de la aplicación mapreduce de hadoop

El Reducir los procesos en fase las teclas y sus listas individuales de valores para que lo que normalmente se devuelve a la aplicación cliente es un conjunto de pares clave / valor. Aquí está el golpe por golpe hasta el momento: Un gran conjunto de datos se ha roto en pedazos más pequeños, llamados escisiones de entrada, y casos individuales de tareas asignador han procesado cada uno de ellos.

Video: Reducer Code - Intro to Hadoop and MapReduce

En algunos casos, esta única fase del procesamiento es todo lo que se necesita para generar la salida de la aplicación deseada. Por ejemplo, si se está ejecutando una operación de transformación básica de los datos - la conversión de todo el texto en mayúsculas, por ejemplo, o extraer fotogramas clave de archivos de vídeo - la fase solitaria es todo lo que necesita. (Esto se conoce como una Mapa de sólo trabajo, por cierto).

Pero en muchos otros casos, el trabajo se realiza sólo a medias cuando las tareas de asignador han escrito su salida. La tarea restante está hirviendo abajo todos los resultados provisionales a una respuesta única y unificada.

Al igual que en la tarea asignador, que procesa cada registro de una en una, el reductor procesa cada tecla individual. Normalmente, el reductor devuelve un solo par de claves / valor para cada procesos clave de TI. Sin embargo, estos pares clave / valor pueden ser tan amplia o tan pequeño como usted necesita que sean.

Una vez finalizadas las tareas reductor, cada uno de ellos devuelva un archivo de resultados y lo almacena en HDFS (Hadoop Distributed File System). Como se muestra aquí, el sistema HDFS se replica automáticamente estos resultados.

Cuando el Administrador de recursos (o JobTracker si está utilizando Hadoop 1) hace lo mejor que asignar recursos a tareas Mapper para asegurar que las divisiones de entrada se procesan localmente, no hay tal estrategia para tareas reductor. Se supone que los conjuntos de resultados de tareas mapper necesitan ser transferidos por la red para ser procesado por las tareas reductor.

Se trata de una aplicación razonable porque, con cientos o incluso miles de tareas de asignador, no habría ninguna forma práctica para tareas reductor tengan la misma priorización localidad.

Artículos Relacionados