MapReduce en Hadoop: Fases, Entradas y Salidas, Funciones y Ventajas

Publicado: 2020-12-24

Hadoop MapReduce es un modelo de programación y un marco de software que se utiliza para escribir aplicaciones que procesan grandes cantidades de datos. Hay dos fases en el programa MapReduce, Map y Reduce.

La tarea Map incluye dividir y mapear los datos tomando un conjunto de datos y convirtiéndolo en otro conjunto de datos, donde los elementos individuales se dividen en tuplas, es decir, pares clave/valor. Después de lo cual, la tarea Reducir mezcla y reduce los datos, lo que significa que combina las tuplas de datos en función de la clave y modifica el valor de la clave en consecuencia.

En el marco de Hadoop, el modelo MapReduce es el componente central para el procesamiento de datos. Con este modelo, es muy fácil escalar una aplicación para que se ejecute en cientos, miles y muchas más máquinas en un clúster con solo hacer un cambio de configuración. Esto también se debe a que los programas del modelo en computación en la nube son de naturaleza paralela. Hadoop tiene la capacidad de ejecutar MapReduce en muchos lenguajes como Java, Ruby, Python y C++. Lea más en mapreduce arquitectura.

Tabla de contenido

Entradas y salidas

El modelo MapReduce opera en pares <clave, valor>. Ve la entrada de los trabajos como un conjunto de pares <clave, valor> y produce un conjunto diferente de pares <clave, valor> como salida de los trabajos. La entrada de datos es compatible con dos clases en este marco, a saber, InputFormat y RecordReader.

El primero se consulta para determinar cómo deben particionarse los datos de entrada para las tareas del mapa, mientras que el segundo lee los datos de las entradas. Para la salida de datos también hay dos clases, OutputFormat y RecordWriter. La primera clase realiza una validación básica de las propiedades del sumidero de datos y la segunda clase se usa para escribir cada salida del reductor en el sumidero de datos.

¿Cuáles son las Fases de MapReduce?

En MapReduce un dato pasa por las siguientes fases.

Divisiones de entrada: una entrada en el modelo de MapReduce se divide en pequeñas partes de tamaño fijo denominadas divisiones de entrada. Esta parte de la entrada es consumida por un solo mapa. Los datos de entrada son generalmente un archivo o directorio almacenado en el HDFS.

Mapeo: esta es la primera fase en la ejecución del programa map-reduce donde los datos en cada división se pasan línea por línea a una función de mapeo para procesarlos y producir los valores de salida.

Barajar: es una parte de la fase de salida de Mapping donde los registros relevantes se consolidan a partir de la salida. Consiste en fusionar y ordenar. Entonces, todos los pares clave-valor que tienen las mismas claves se combinan. En la clasificación, las entradas del paso de fusión se toman y clasifican. Devuelve pares clave-valor, ordenando la salida.

Reducir: Todos los valores de la fase de barajado se combinan y se devuelve un solo valor de salida. Por lo tanto, resumiendo todo el conjunto de datos.

Lea también: Preguntas y respuestas de la entrevista de Mapreduce

¿Cómo funciona MapReduce Organize?

Hadoop divide una tarea en dos partes, asigna tareas que incluye divisiones y mapeo, y reduce tareas que incluye barajar y reducir. Estos fueron mencionados en las fases de la sección anterior. La ejecución de estas tareas está controlada por dos entidades llamadas JobTracker y Multiple Task tracker.

Con cada trabajo que se envía para su ejecución, hay un JobTracker que reside en NameNode y varios rastreadores de tareas que residen en DataNode. Un trabajo se divide en múltiples tareas que se ejecutan en múltiples nodos de datos en el clúster. JobTracker coordina la actividad mediante la programación de tareas para que se ejecuten en varios nodos de datos.

El rastreador de tareas se ocupa de la ejecución de tareas individuales. También envía el informe de progreso al JobTracker. Periódicamente, envía una señal al JobTracker para notificar el estado actual del sistema. Cuando falla una tarea, JobTracker la reprograma en un rastreador de tareas diferente.

Ventajas de MapReduce

Hay una serie de ventajas para las aplicaciones que utilizan este modelo. Estos son

  • – Los grandes datos se pueden manejar fácilmente.
  • – Los conjuntos de datos se pueden procesar en paralelo.
  • – Todos los tipos de datos, como estructurados, no estructurados y semiestructurados, se pueden procesar fácilmente.
  • – Se proporciona alta escalabilidad.
  • – Contar las ocurrencias de palabras es fácil y estas aplicaciones pueden tener una recopilación masiva de datos.
  • – Se puede acceder rápidamente a grandes muestras de encuestados.
  • – En el análisis de datos, se puede utilizar una herramienta genérica para buscar herramientas.
  • – El tiempo de equilibrio de carga se ofrece en clústeres grandes.
  • – El proceso de extracción de contextos de ubicaciones de usuarios, situaciones, etc. es fácilmente posible.
  • – Se proporciona buen rendimiento de generalización y convergencia a estas aplicaciones.

Debe leer: Mapreduce vs Apache Spark

Conclusión

Hemos descrito MapReduce en Hadoop en detalle. También proporcionamos una breve descripción del marco junto con las definiciones de Map y Reduce en la introducción. Las definiciones de varios términos utilizados en este modelo se dieron junto con detalles de las entradas y salidas.

Una explicación detallada de las diversas fases involucradas en el marco MapReduce ilustró en detalle cómo se organiza el trabajo. La lista de ventajas de usar MapReduce para aplicaciones da una idea clara de su uso y relevancia.

Si está interesado en saber más sobre Big Data, consulte nuestro programa PG Diploma in Software Development Specialization in Big Data, que está diseñado para profesionales que trabajan y proporciona más de 7 estudios de casos y proyectos, cubre 14 lenguajes y herramientas de programación, prácticas talleres, más de 400 horas de aprendizaje riguroso y asistencia para la colocación laboral con las mejores empresas.

Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga Programas PG Ejecutivos, Programas de Certificado Avanzado o Programas de Maestría para acelerar su carrera.

Liderar la revolución tecnológica basada en datos

Programa de Certificado Avanzado en Big Data de IIIT Bangalore