Mapreduce hadoop para grandes volúmenes de datos

Para entender completamente las capacidades de Hadoop MapReduce, es importante diferenciar entre Mapa reducido (El algoritmo) y una implementación de Mapa reducido. Hadoop MapReduce es una implementación del algoritmo desarrollado y mantenido por el proyecto Apache Hadoop.

Es útil pensar en esta aplicación como una Mapa reducido motor, porque eso es exactamente cómo funciona. Proporciona los datos (combustible), el motor convierte la entrada en una salida rápida y eficiente, y se obtiene las respuestas que necesita.

Hadoop MapReduce incluye varias etapas, cada una con un importante conjunto de operaciones que ayudan a llegar a su objetivo de conseguir las respuestas que necesita de grandes volúmenes de datos. El proceso se inicia con una solicitud del usuario para ejecutar un programa de MapReduce y continúa hasta que los resultados se vuelven a escribir el HDFS.

HDFS y MapReduce realizan su trabajo en los nodos de un clúster alojado en bastidores de servidores básicos. Para simplificar la discusión, el diagrama muestra sólo dos nodos.

Video: Hadoop : XML Parsing with MapReduce | MapReduce Tutorial | Big Data Tutorial For Beginners | Edureka

Obtener los datos grandes listas

Cuando un cliente solicita un programa de MapReduce para funcionar, el primer paso es localizar y leer el archivo de entrada que contiene los datos en bruto. El formato de archivo es completamente arbitraria, pero los datos se debe convertir en algo que el programa puede procesar. Esta es la función de InputFormat y RecordReader. InputFormat decide cómo se va a cortar en pedazos más pequeños para procesar usando una función llamada InputSplit el archivo.

A continuación, asigna un RecordReader para transformar los datos en bruto para su procesamiento por el mapa. Existen varios tipos de RecordReaders se suministran con Hadoop, que ofrece una amplia variedad de opciones de conversión. Esta característica es una de las formas en que Hadoop gestiona la enorme variedad de tipos de datos que se encuentran en problemas grandes de datos.

Deje el mapa grande de datos comienza

Sus datos se encuentra ahora en una forma aceptable para mapear. Para cada par de entrada, un ejemplo distinto de mapa se llama para procesar los datos. Pero, ¿qué hacer con la salida procesada, y cómo se puede realizar un seguimiento de ellos?

Mapa tiene dos capacidades adicionales para hacer frente a las preguntas. Debido mapa y reducir la necesidad de trabajar juntos para procesar sus datos, el programa necesita para recoger la salida de los creadores de mapas independientes y pasarlo a los reductores. Esta tarea es realizada por un OutputCollector. Una función Reporter también ofrece información obtenida de tareas mapa para que sepa cuándo o si las tareas se han completado mapa.

Todo este trabajo se realiza en varios nodos en el clúster Hadoop simultáneamente. Es posible que tenga los casos en que la salida de determinados procesos de asignación tiene que ser acumulados antes de que los reductores pueden comenzar. O bien, algunos de los resultados intermedios pueden necesitar ser procesados ​​antes de la reducción.

Además, parte de esta salida puede estar en un nodo distinto del nodo donde los reductores para que la producción específica se ejecutará. La recogida y redistribución de los resultados intermedios se realizan por un particionador y una especie. Las tareas mapa entregarán los resultados a una partición específica como entradas a las tareas de reducir.

Después de todas las tareas mapa están completas, los resultados intermedios están reunidos en la partición y un barajado ocurre, la clasificación de la salida para un procesamiento óptimo por reducir.

Reducir y combinar para grandes volúmenes de datos

Para cada par de salidas, reduzca está llamado a realizar su tarea. De manera similar al mapa, reducir reúne su producción, mientras que todas las tareas se están procesando. Reducir no puede comenzar hasta que se hace todo el mapeo. La salida de reducir también es una clave y un valor. Mientras que esto es necesario para reducir al realizar su trabajo, puede que no sea el formato de salida más eficaz para su aplicación.

Hadoop proporciona una característica OutputFormat, y funciona muy parecido a InputFormat. OutputFormat toma el par clave-valor y organiza la salida para escribir en HDFS. La última tarea es en realidad escribir los datos en HDFS. Esto se realiza mediante RecordWriter, y se lleva a cabo de manera similar a RecordReader pero al revés. Toma los datos OutputFormat y lo escribe en HDFS en la forma necesaria para los requisitos del programa.

La coordinación de todas estas actividades se logró en versiones anteriores de Hadoop por un planificador de tareas. Este planificador era rudimentaria, y como la mezcla de puestos de trabajo cambió y creció, estaba claro que un enfoque diferente era necesario. La deficiencia primaria en el antiguo programador fue la falta de gestión de recursos. La última versión de Hadoop tiene esta nueva capacidad.

Hadoop MapReduce es el corazón del sistema de Hadoop. Proporciona todas las capacidades que necesita para romper grandes volúmenes de datos en trozos manejables, procesar los datos en paralelo en el clúster distribuido, y luego hacer que los datos disponibles para el consumo usuario o procesamiento adicional. Y lo hace todo este trabajo de una manera altamente resistente, con tolerancia a fallos. Este es solo el comienzo.

Artículos Relacionados