De entrada se divide en mapreduce de hadoop

La forma HDFS se ha establecido, se descompone archivos muy grandes en grandes bloques (por ejemplo, la medición de 128 MB), y almacena tres copias de estos bloques en diferentes nodos del clúster. HDFS no tiene conocimiento del contenido de estos archivos.

Video: Introduction To Mapreduce | Hadoop Tutorial For Beginners

En HILO, cuando se inicia un trabajo MapReduce, el administrador de recursos (la gestión de recursos de clúster y la facilidad de programación de trabajo) crea un demonio maestro de aplicaciones para cuidar el ciclo de vida del trabajo. (En Hadoop 1, el JobTracker supervisa los trabajos individuales, así como el manejo de la planificación de tareas y gestión de recursos de clúster.)

Una de las primeras cosas que el Maestro aplicación no es determinar qué se necesitan bloques de archivos para su procesamiento. El Maestro aplicación solicita datos de la NameNode en el que se almacenan las réplicas de los bloques de datos necesarios. Utilizando los datos de la ubicación de los bloques de archivo, el Maestro aplicación hace peticiones al gestor de recursos a tareas tienen bloques de mapa de procesos específicos en los nodos esclavos en el que están almacenados.

La clave para el procesamiento MapReduce eficiente es que, siempre que sea posible, se procesan los datos en la zona - en el nodo esclavo donde se almacena.

Antes de analizar cómo se procesan los bloques de datos, es necesario mirar más de cerca cómo almacena los datos de Hadoop. En Hadoop, los archivos se componen de registros individuales, que son en última instancia procesan uno por uno por tareas Mapper.

Por ejemplo, el conjunto de datos de muestra contiene información sobre los vuelos efectuados dentro de los Estados Unidos entre 1987 y 2008.

Para descargar el conjunto de datos de muestra, abra el navegador Firefox desde el interior de la máquina virtual, e ir a la página dataexpo.

Usted tiene un archivo grande para cada año, y dentro de cada archivo, cada línea individual representa un solo vuelo. En otras palabras, una línea representa un registro. Ahora, recuerde que el tamaño de bloque para el clúster Hadoop es de 64 MB, lo que significa que los archivos de datos de luz se rompen en trozos de exactamente 64 MB.

¿Ves el problema? Si cada mapa de tareas procesa todos los registros en un bloque de datos específico, lo que ocurre con aquellos registros que abarcan límites de los bloques? bloques de archivos son exactamente 64 MB (o lo que se establece el tamaño de bloque a ser), y debido a HDFS no tiene idea de lo que hay dentro de los bloques de archivos, no se pueden medir cuando un registro podría desbordarse en otro bloque.

Para resolver este problema, utiliza Hadoop una representación lógica de los datos almacenados en los bloques de archivos, conocidos como escisiones de entrada. Cuando un cliente de trabajo MapReduce calcula las divisiones de entrada, que se da cuenta de que el primer disco entero en un bloque comienza y donde el último registro en el bloque termina.

En los casos en que el último registro en un bloque es incompleta, la división de entrada incluye información de ubicación para el siguiente bloque y el desplazamiento de los datos necesarios para completar el registro de bytes.

La figura muestra esta relación entre los bloques de datos y escisiones de entrada.

Puede configurar el demonio maestro de aplicaciones (o JobTracker, si estás en Hadoop 1) para calcular la entrada se divide en lugar del cliente de trabajo, lo que sería más rápido para trabajos de procesamiento de un gran número de bloques de datos.

procesamiento de datos MapReduce es impulsado por este concepto de divisiones de entrada. El número de divisiones de entrada que se calcula para una aplicación específica determina el número de tareas Mapper. Cada una de estas tareas asignador se asigna, en lo posible, a un nodo esclavo donde se almacena la escisión de entrada. El Administrador de recursos (o JobTracker, si estás en Hadoop 1) hace lo posible para asegurarse que la entrada se divide son procesados ​​localmente.

Artículos Relacionados