¿Qué es MapReduce? El - Conozca el ejemplo y las ventajas de MapReduce

Tabla de contenido:

Anonim

¿Qué es MapReduce?

El marco de programación MapReduce se utiliza para realizar procesamiento distribuido y paralelo con grandes conjuntos de datos en un entorno distribuido. Map y Reduce son las dos tareas distintas de un programa de reducción de mapas. Al principio de la fase del mapa, los datos se leen y se generan pares de clave-valor. Luego, estos pares clave-valor se introducen en la tarea de reducción que agrega los datos del par clave-valor en el conjunto más pequeño de valores que producen la salida final. Por lo tanto, una tarea de reducción siempre se implementa después de completar una tarea de mapa. Es muy fácil escalar el procesamiento de datos en múltiples nodos informáticos.

Hay tres etapas en el programa:

  1. Etapa del mapa
  2. Shuffle Stage
  3. Reducir etapa

Ejemplo :

Problema de recuento de palabras

Supongamos a continuación los datos de entrada:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

1. Los datos anteriores se dividen en tres divisiones de entrada como se muestra a continuación:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

2. Luego, estos datos se envían a la siguiente fase llamada fase de mapeo.

Entonces, para la primera línea (Mike Jon Jake) tenemos 3 pares clave-valor: Mike, 1; Jon, 1; Jake, 1.

A continuación se muestra el resultado en la fase de mapeo:

  • Mike, 1
    Jon, 1
    Jake, 1
  • Paul, 1
    Paul, 1
    Jake, 1
  • Mike, 1
    Paul, 1
    Jon, 1

3. Los datos anteriores se envían a la siguiente fase llamada fase de clasificación y mezcla aleatoria.

En esta fase, los datos se agrupan en claves únicas y se ordenan. A continuación se muestra el resultado en la fase de clasificación y mezcla:

  • Jake, (1, 1)
  • Jon, (1, 1)
  • Mike, (1, 1)
  • Pablo, (1, 1, 1)

4. Los datos anteriores se envían a la siguiente fase llamada fase de reducción.

Aquí se agregan todos los valores clave y se cuenta el número de 1s. A continuación se muestra el resultado en la fase de reducción:

  • Jake, 2
  • Jon, 2
  • Mike, 2
  • Pablo, 3

Ventajas de MapReduce:

Aquí aprendemos algunas ventajas importantes del marco de programación MapReduce,

1. Escalabilidad

Hadoop es una plataforma que es altamente escalable y se debe en gran parte a su capacidad de almacenar y distribuir grandes conjuntos de datos en muchos servidores. Los servidores utilizados aquí son bastante económicos y pueden funcionar en paralelo. La potencia de procesamiento del sistema se puede mejorar con la adición de más servidores. Los sistemas tradicionales de gestión de bases de datos relacionales o RDBMS no podían escalar para procesar grandes conjuntos de datos.

2. Flexibilidad

El modelo de programación Hadoop MapReduce ofrece flexibilidad para procesar la estructura o los datos no estructurados de varias organizaciones comerciales que pueden hacer uso de los datos y pueden operar con diferentes tipos de datos. Por lo tanto, pueden generar un valor comercial a partir de esos datos que son significativos y útiles para el análisis de las organizaciones comerciales. Independientemente de la fuente de datos, ya sean redes sociales, clickstream, correo electrónico, etc. Hadoop ofrece soporte para muchos idiomas utilizados para el procesamiento de datos. Junto con todo esto, la programación de Hadoop MapReduce permite muchas aplicaciones, como análisis de marketing, sistema de recomendaciones, almacenamiento de datos y detección de fraude.

3. Seguridad y autenticación

Si una persona externa obtiene acceso a todos los datos de la organización y puede manipular múltiples petabytes de datos, puede hacer mucho daño en términos de operaciones comerciales en operación para la organización empresarial. El modelo de programación MapReduce aborda este riesgo trabajando con hdfs y HBase que permite una alta seguridad permitiendo que solo el usuario aprobado opere con los datos almacenados en el sistema.

4. Solución rentable

Dicho sistema es altamente escalable y es una solución muy rentable para un modelo de negocio que necesita almacenar datos que crecen exponencialmente en línea con los requisitos del día actual. En el caso de los antiguos sistemas tradicionales de gestión de bases de datos relacionales, no era tan fácil procesar los datos como con el sistema Hadoop en términos de escalabilidad. En tales casos, la empresa se vio obligada a reducir el tamaño de los datos e implementar aún más la clasificación basada en suposiciones de cómo ciertos datos podrían ser valiosos para la organización y, por lo tanto, eliminar los datos sin procesar. Aquí la arquitectura de escalamiento horizontal de Hadoop con la programación MapReduce viene al rescate.

5. rápido

El sistema de archivos distribuido Hadoop HDFS es una característica clave utilizada en Hadoop que básicamente está implementando un sistema de mapeo para ubicar datos en un clúster. La programación de MapReduce es la herramienta utilizada para el procesamiento de datos y se encuentra también en el mismo servidor, lo que permite un procesamiento más rápido de los datos. Hadoop MapReduce procesa grandes volúmenes de datos no estructurados o semiestructurados en menos tiempo.

6. Un modelo simple de programación.

La programación de MapReduce se basa en un modelo de programación muy simple que básicamente permite a los programadores desarrollar un programa de MapReduce que puede manejar muchas más tareas con más facilidad y eficiencia. El modelo de programación MapReduce está escrito usando lenguaje Java, es muy popular y muy fácil de aprender. Es fácil para las personas aprender programación Java y diseñar un modelo de procesamiento de datos que satisfaga sus necesidades comerciales.

7. Procesamiento paralelo

El modelo de programación divide las tareas de una manera que permite la ejecución de la tarea independiente en paralelo. Por lo tanto, este procesamiento paralelo facilita que los procesos asuman cada una de las tareas, lo que ayuda a ejecutar el programa en mucho menos tiempo.

8. Disponibilidad y naturaleza resistente

El modelo de programación Hadoop MapReduce procesa los datos enviándolos a un nodo individual y reenvía el mismo conjunto de datos a los otros nodos que residen en la red. Como resultado, en caso de falla en un nodo en particular, la misma copia de datos todavía está disponible en los otros nodos que se pueden usar cuando sea necesario para garantizar la disponibilidad de datos.
De esta manera, Hadoop es tolerante a fallas. Esta es una funcionalidad única ofrecida en Hadoop MapReduce que es capaz de reconocer rápidamente la falla y aplicar una solución rápida para una solución de recuperación automática.

Hay muchas compañías en todo el mundo que usan map-reduce como facebook, yahoo, etc.

Conclusión - ¿Qué es MapReduce?

Map reduce tiene una gran capacidad cuando se trata de un gran procesamiento de datos en comparación con los sistemas RDBMS tradicionales. Muchas organizaciones ya se han dado cuenta de su potencial y se están moviendo a esta nueva tecnología. Claramente, map-reduce tiene un largo camino por recorrer en una plataforma de procesamiento de big data.

Artículos recomendados

Esta ha sido una guía de Qué es MapReduce. Aquí discutimos el concepto básico, ejemplos y ventajas de MapReduce. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Qué es JavaScript?
  2. Preguntas de la entrevista de MapReduce
  3. ¿Qué es python?
  4. Cómo funciona MapReduce
  5. ¿Qué es Big Data y Hadoop?