¿Qué es MapReduce en Hadoop? Grandes datos Architectura
¿Qué es MapReduce en Hadoop?
MapReduce es un marco de software y un modelo de programación que se utiliza para procesar grandes cantidades de datos. MapReduce El programa funciona en dos fases, a saber, Map y Reduce. Las tareas de Map se ocupan de dividir y mapear.ping de datos mientras que las tareas de reducción reorganizan y reducen los datos.
Hadoop es capaz de ejecutar programas MapReduce escritos en varios idiomas: Java, Rubí, Pythony el ámbito C++Los programas de Map Reduce en la computación en la nube son de naturaleza paralela, por lo que son muy útiles para realizar análisis de datos a gran escala utilizando múltiples máquinas en el clúster.
La entrada a cada fase es valor clave pares. Además, todo programador debe especificar dos funciones: función de mapa y reducir la función.
MapReduce ArchiTecnología en Big Data explicada con ejemplo.
Todo el proceso pasa por cuatro fases de ejecución, a saber: división, mapeoping, barajando y reduciendo.
Ahora, en este tutorial de MapReduce, comprendamos con un ejemplo de MapReduce:
Considere que tiene los siguientes datos de entrada para su MapReduce en Programa de grandes datos
Welcome to Hadoop Class Hadoop is good Hadoop is bad

El resultado final de la tarea MapReduce es
| malos | 1 |
| Clase | 1 |
| bueno | 1 |
| Hadoop | 3 |
| is | 2 |
| a | 1 |
| Bienvenidos | 1 |
Los datos pasan por las siguientes fases de MapReduce en Big Data
Divisiones de entrada:
Una entrada a un trabajo de MapReduce en Big Data se divide en partes de tamaño fijo llamadas divisiones de entrada La división de entrada es una parte de la entrada que consume un solo mapa.
Mapeo
Esta es la primera fase en la ejecución del programa map-reduce. En esta fase, los datos de cada división se pasan a un mapa.ping función para producir valores de salida. En nuestro ejemplo, un trabajo de mapeoping La fase consiste en contar el número de ocurrencias de cada palabra a partir de las divisiones de entrada (se proporcionan más detalles sobre la división de entrada a continuación) y preparar una lista en forma de
Arrastramiento
Esta fase consume la salida de Mapping fase. Su tarea es consolidar los registros relevantes del Mapaping Salida de fase. En nuestro ejemplo, las mismas palabras se agrupan junto con su frecuencia respectiva.
La reducción de
En esta fase, se agregan los valores de salida de la fase de mezcla. Esta fase combina los valores de la fase de mezcla y devuelve un único valor de salida. En resumen, esta fase resume el conjunto de datos completo.
En nuestro ejemplo, esta fase agrega los valores de la fase de barajado, es decir, calcula la aparición total de cada palabra.
MapReduce Architectura explicada en detalle
- Se crea una tarea de mapa para cada división que luego ejecuta la función de mapa para cada registro de la división.
- Siempre es beneficioso tener múltiples divisiones porque el tiempo necesario para procesar una división es pequeño en comparación con el tiempo necesario para procesar toda la entrada. Cuando las divisiones son más pequeñas, es mejor que el procesamiento tenga una carga equilibrada, ya que estamos procesando las divisiones en paralelo.
- Sin embargo, tampoco es deseable tener divisiones de tamaño demasiado pequeño. Cuando las divisiones son demasiado pequeñas, la sobrecarga de gestionar las divisiones y la creación de tareas de mapas comienza a dominar el tiempo total de ejecución del trabajo.
- Para la mayoría de los trabajos, es mejor hacer un tamaño de división igual al tamaño de un bloque HDFS (que es 64 MB, de forma predeterminada).
- La ejecución de tareas de mapas da como resultado la escritura de la salida en un disco local en el nodo respectivo y no en HDFS.
- La razón para elegir el disco local en lugar de HDFS es evitar la replicación que tiene lugar en el caso de la operación de almacenamiento HDFS.
- La salida del mapa es una salida intermedia que se procesa mediante tareas de reducción para producir la salida final.
- Una vez que se completa el trabajo, la salida del mapa se puede desechar. Por lo tanto, almacenarlo en HDFS con replicación se vuelve excesivo.
- En caso de falla del nodo, antes de que la tarea de reducción consuma la salida del mapa, Hadoop vuelve a ejecutar la tarea del mapa en otro nodo y vuelve a crear la salida del mapa.
- Reducir la tarea no funciona con el concepto de localidad de datos. Una salida de cada tarea de mapa se envía a la tarea de reducción. La salida del mapa se transfiere a la máquina donde se ejecuta la tarea de reducción.
- En esta máquina, la salida se fusiona y luego se pasa a la función de reducción definida por el usuario.
- A diferencia de la salida del mapa, la salida reducida se almacena en HDFS (la primera réplica se almacena en el nodo local y otras réplicas se almacenan en nodos fuera del rack). Entonces, escribiendo la salida reducida
¿Cómo funciona MapReduce Organizes?
Ahora, en este tutorial de MapReduce, aprenderemos cómo funciona MapReduce.
Hadoop divide el trabajo en tareas. Hay dos tipos de tareas:
- Tareas de mapa (Divisiones y mapa)ping)
- Reducir tareas (Barajar, Reducir)
como se ha mencionado más arriba.
El proceso de ejecución completo (ejecución de tareas de Mapa y Reducción, ambas) está controlado por dos tipos de entidades llamadas
- Trabajostracker: Actúa como un dominar (responsable de la ejecución completa del trabajo enviado)
- Tareas múltiples Trackers: Actúa como esclavos, cada uno de ellos realizando el trabajo
Por cada trabajo enviado para ejecución en el sistema, existe un Trabajostracker que reside en Nodo de nombre y aquí están tarea múltipletrackers que residen en nodo de datos.

- Un trabajo se divide en múltiples tareas que luego se ejecutan en múltiples nodos de datos en un clúster.
- Es responsabilidad del trabajo tracker para coordinar la actividad programando tareas para que se ejecuten en diferentes nodos de datos.
- La ejecución de cada tarea individual queda entonces a cargo de la tarea. tracker, que reside en cada nodo de datos que ejecuta parte del trabajo.
- Task tracLa responsabilidad de ker es enviar el informe de progreso al trabajo. tracker
- Además, tarea tracker envía periódicamente 'latido del corazón' señal al trabajotracpara notificarle del estado actual del sistema.
- Así que trabajo tracker se mantiene track del progreso general de cada trabajo. En caso de fallo de la tarea, el trabajo tracker puede reprogramarlo para una tarea diferente. tracker
