Diferencia entre Hadoop y MapReduce

Las raíces de Hadoop se remontan al año 2002 cuando Dough Cutting estaba trabajando en un proyecto de código abierto llamado Nutch (que se usaba para indexar las páginas web y usar las páginas web indexadas para buscar, lo mismo que hace Google). Se enfrentaba a problemas de escalabilidad tanto en términos de almacenamiento como de informática. En 2003, Google publicó GFS (sistema de archivos de Google) y en 2004 Nutch creó NDFS (sistema de archivos distribuido de Nutch). Después de que Google anunció MapReduce como su cerebro computacional detrás de sus algoritmos de clasificación, Dough pudo ejecutar Nutch en NDFS y usó MapReduce en el año 2005 y en el año 2006 nació Hadoop.

Hadoop y MapReduce! Hadoop es un ecosistema de proyectos de código abierto como Hadoop Common, Hadoop distribuido sistema de archivos (HDFS), Hadoop YARN, Hadoop MapReduce. Hadoop como tal es un marco de código abierto para almacenar y procesar grandes conjuntos de datos. HDFS lleva el almacenamiento y MapReduce se encarga del procesamiento. MapReduce, por otro lado, es un modelo de programación que le permite procesar grandes datos almacenados en Hadoop. Vamos a entender Hadoop y MapReduce en detalle en esta publicación.

Comparación cabeza a cabeza entre Hadoop Vs MapReduce (Infografía)

A continuación se muestra la comparación de los 5 principales entre Hadoop y MapReduce

Diferencias clave entre Hadoop y MapReduce

La siguiente es la diferencia entre Hadoop y MapReduce

  • Si queremos diferenciar Hadoop y MapReduce en términos simples, podemos decir que Hadoop es como el automóvil en el que tiene todo lo que se necesita para recorrer distancias, pero MapReduce es como el motor del automóvil, por lo que sin el automóvil un motor puede ' No existe, pero el exterior del automóvil puede cambiar (otros DFS (sistemas de archivos distribuidos)).
  • La idea básica detrás de Hadoop es que los datos deben ser confiables y escalables, confiables, ya que en caso de desastre o falla de la red, los datos deben estar disponibles todo el tiempo y esto se logra mediante el marco de Hadoop utilizando Nodos de Nombre y Nodos de Datos.
  • Alguna idea básica de nodos de datos y nodos de nombre

  • La idea básica detrás de la arquitectura del nodo de datos y el nodo de nombres es la arquitectura maestro / esclavo donde uno almacena la ubicación de los datos (nodo de nombres) y el otro almacena los datos en sí (nodo de datos). Los datos se dividen en fragmentos de 64 MB y se guardan en los bloques de datos y el registro de estos se mantiene en el Nodo de nombre. Los datos se replican tres veces de manera predeterminada para mayor confiabilidad. Hablando de la escalabilidad, el hardware se puede aumentar sobre la marcha y esto ayuda a aumentar el almacenamiento y hacer que el sistema sea escalable.
  • Ahora llegando a MapReduce hay tres fases
    1. Fase del mapa
    2. Fase aleatoria
    3. Fase de reducción

Tomemos un ejemplo para entenderlo mejor. Al ser MapReduce un marco de programación, también tiene un programa hello world, pero se conoce como programa de conteo de palabras en MapReduce.

El programa Word Count nos proporciona los pares clave-valor de la palabra y su frecuencia en un párrafo / artículo o cualquier fuente de datos. Para poder entenderlo fácilmente, tomemos los siguientes datos de ejemplo.

En el conjunto de datos, como podemos ver, tenemos tres palabras: autobús, automóvil y tren. La columna denominada Entrada tiene los datos como los que tenemos en el conjunto de datos, la columna Salida tiene los datos en la etapa intermedia en la que tendrá lugar el barajado.

Aquí estamos tomando el divisor como una coma (, ) para dividir las palabras. El divisor puede ser una coma o espacio o una nueva línea, etc.

EntradaConjunto de datoscar, COCHE, automóvil, AUTOBÚS, TREN, autobús, tren, autobús, TREN, AUTOBÚS, buS, automóvil, autobús, automóvil, tren, automóvil, autobús, automóvil
SalidaConvierte en otro conjunto de datos

(Valor clave)

(Bus, 1), (Auto, 1), (bus, 1), (auto, 1), (tren, 1),

(automóvil, 1), (autobús, 1), (automóvil, 1), (tren, 1), (autobús, 1),

(TREN, 1), (BUS, 1), (buS, 1), (caR, 1), (COCHE, 1),

(automóvil, 1), (AUTOBÚS, 1), (TREN, 1)

Y la salida de la etapa intermedia anterior se da al reductor y debajo está la salida final del programa.

Entrada

(salida de la función de mapa)

Conjunto de tuplas(Bus, 1), (Auto, 1), (bus, 1), (auto, 1), (tren, 1),

(automóvil, 1), (autobús, 1), (automóvil, 1), (tren, 1), (autobús, 1),

(TREN, 1), (BUS, 1), (buS, 1), (caR, 1), (COCHE, 1),

(automóvil, 1), (AUTOBÚS, 1), (TREN, 1)

SalidaSe convierte en un conjunto más pequeño de tuplas.(BUS, 7),

(COCHE, 7),

(TREN, 4)

  • Una de las diferencias clave de Hadoop con otros marcos de procesamiento de big data es que Hadoop envía el código (código MapReduce) a los clústeres donde se almacenan los datos en lugar de enviarlos al código, como lo harán los conjuntos de datos en TB o, a veces, en PB Será una tarea tediosa.

Tabla de comparación de Hadoop vs MapReduce

Bases para la comparaciónHadoopMapa reducido

Sentido

El nombre "Hadoop" era el nombre del elefante de juguete del hijo de Doug Cutting. Llamó a este proyecto como "Hadoop", ya que era fácil de pronunciar.El nombre "MapReduce" surgió según la funcionalidad misma de mapeo y reducción en pares clave-valor.

Concepto

El Apache Hadoop es un ecosistema que proporciona un entorno confiable, escalable y listo para la informática distribuida.MapReduce es un submódulo de este proyecto que es un modelo de programación y se utiliza para procesar grandes conjuntos de datos que se encuentran en HDFS (sistema de archivos distribuido Hadoop).

Prerrequisitos

Hadoop se ejecuta en implementos HDFS (Hadoop Distributed File System)MapReduce puede ejecutarse en HDFS / GFS / NDFS o en cualquier otro sistema de archivos distribuido, por ejemplo, MapR-FS

Idioma

Hadoop es una colección de todos los módulos y, por lo tanto, también puede incluir otros lenguajes de programación / scriptingMapReduce está escrito básicamente en lenguaje de programación Java

Marco de referencia

Hadoop no solo tiene un marco de almacenamiento que almacena los datos, sino que también crea nombres de nodo y nodo de datos, sino que también tiene otros marcos que incluyen MapReduce.MapReduce es un marco de programación que utiliza una asignación de valores clave para ordenar / procesar los datos.

La siguiente figura ayudará a diferenciar MapReduce de Hadoop.

Marco MapReduce

  • Como podemos ver en la imagen anterior, MapReduce es un marco de procesamiento distribuido, mientras que Hadoop es una colección de todos los marcos.

Conclusión - Hadoop vs MapReduce

El hecho de que Hadoop fuera de código abierto ganó popularidad, ya que era de uso gratuito y los programadores pueden cambiar el código según sus necesidades. El ecosistema Hadoop se desarrolló continuamente durante los últimos años para que el ecosistema esté lo más libre de errores posible.

Con las necesidades siempre cambiantes del mundo, la tecnología cambia rápidamente y se hace difícil hacer un seguimiento de los cambios. Los datos que se generan en un mes se duplican / triplican a medida que lee este artículo y la necesidad de un procesamiento más rápido de los conjuntos de datos condujo a muchos otros marcos de programación como MapReduce 2, Spark, etc.

Artículos recomendados

Esta ha sido una guía de Hadoop vs MapReduce, su significado, comparación directa, diferencias clave, tabla de comparación y conclusión. También puede consultar los siguientes artículos para obtener más información:

  1. Diferencia entre Hadoop y Redshift
  2. Descubra las 6 mejores diferencias entre Apache Hadoop y Apache Storm
  3. Comparaciones entre Hadoop Vs SQL
  4. Conozca MapReduce vs Spark
  5. Hadoop vs Spark: Funciones
  6. Laravel vs Codeigniter: Funciones

Categoría: