Cuando nos adentramos en el mundo de Big Data, se suele leer y escuchar sobre Apache Hadoop. Como me gusta describirlo, Hadoop es
un ecosistema donde coexisten diversas tecnologías y cuya finalidad es el almacenamiento de grandes volúmenes de datos de cualquier tipo, Tera Bytes de datos para ser mas explícitos y seguidamente el análisis de dichos datos.
¿Sabes que es lo más atractivo? Que todo este almacenamiento se puede realizar en equipos de bajo costo (commodity hardware) a través de clústers.

Si deseas conocer un poco mas de las interioridades de este framework, representado por un elefante amarillo y creado por Doug Cutting, te recomiendo que sigas leyendo pues ahondaremos más en el tema.

 

¿Pero…qué es Hadoop?

Hadoop es un framework open source basado en java para el procesamiento de enormes cantidades de datos, en clúster. Es una de las mejores tecnologías diseñadas para extraer el máximo valor de la Big Data.
Hadoop se maneja en sistemas con miles de “commodity hardware” y puede manejar miles de Tera Bytes de data. Utiliza el HDFS (Hadoop Distributed File System) para facilitar la transferencia entre nodos y permitir que el sistema continúe operativo en caso de que algún nodo deje de funcionar lo que nos garantiza que se disminuya el riesgo ante algún fallo que pueda ocasionar que múltiples nodos queden inoperantes. Adcional a esto, Hadoop implementa dos componentes adicionales al HDFS: su Yet Another Resource Negotiator (YARN) el cual se caracteriza por ser un sistema operativo distribuido, a gran escala para aplicaciones de big data; y el Map Reduce el cual representa el core de Hadoop y tiene dos funciones principales:

  •  Distribuye los trabajos en varios nodos dentro del clúster o mapa.
  • Organiza y reduce los resultados y los devuelve.

 

¿Por qué Hadoop es una de las mejores tecnologías para sacarle provecho a nuestra Big Data?

  • Porque se puede almacenar y procesar rápidamente grandes cantidades de información de cualquier tipo: esta es una gran capacidad tomando en cuenta la variedad y catidad de información generada por las redes sociales y el internet de las cosas.
  • Por su poder de procesamiento: por el modelo de procesamiento distribuido de Hadoop, la big data se procesa rápidamente pues entre mas nodos para procesar usemos, mayor poder de procesamiento tenemos.
  • Por su tolerancia a los fallos: la data y el procesamiento están protegidos ante posibles fallas de hardware pues si un nodo deja de funcionar, los trabajos son re direccionados a los demás nodos de forma tal que se garantice el procesamiento distribuido.
  • Por su flexibilidad: A diferencia de las bases de datos relacionales, en las que se debe procesar la data antes de almacenarla, Hadoop permite el almacenamiento de cualquier tipo de información, en las cantides que se requieran, ya sea estructurada o no estructurada (texto, vídeos, imágenes, feeds de redes sociales, entre otros.).
  • Por su bajo costo: por ser un framework open source, es gratis y utiliza commodity hardware para almacenar la data.
  • Por su escalabilidad: Hadoop puede crecer fácilmente y manejar mucha mas información con solo adicionar más nodos.

 

Mitos sobre Hadoop

Cuanto nos adentramos en el mundo de Hadoop, nos damos cuenta de que existen muchas aseveraciones incorrectas o malinterpretaciones de las cuales te comento las que más me han llamado la atención:

  1. Hadoop se compone de varios productos de código abierto conformando un ecosistema.
  2. Su gran popularidad se basa de la diversidad de datos, no solo el volumen de datos. Algunos se refieren a Hadoop como una tecnología diseñada para grandes volúmenes de datos, pero el valor real de Hadoop está en la forma en que puede manejar diversos datos.
  3. Complementa un almacén de datos; raramente es un reemplazo.
  4. No es completamente gratuito. Si bien el software es de código abierto, el costo para su despliegue no lo es. Eso no incluye los costos de hardware, de un clúster Hadoop o los bienes raíces y el poder que se necesita para hacer operativo ese clúster.

¿Qué es Spark?..¿es mejor que Hadoop?

Apache Spark es un framework opensource que se basa en el procesamiento de grandes cantidades de datos en streaming, permitiendo la exploración de datos ad hoc, así como la aplicación de algoritmos de machine learning. Spark puede contener librerías específicas para tratar datos estructurados (Spark SQL), capacidades para el streaming de datos (Spark Streaming), machine learning (MLib) y computación sobre grafos (GraphX).

Realizar una comparación entre Hadoop y Spark es dificil debido a que ambos tienen un uso en particular dentro del procesamiento de la Big Data. No obstante, es mas apropiado comparar el Map Reduce de Hadoop y Spark por sus similitudes como mecanismos de procesamiento de datos.

Spark, al ser fácil de usar y muy veloz, se ha ganado un puesto importante en el mundo de la Big Data pero, ambos (Hadoop y Spark) poseen características similares como performance, tolerancia a fallos, costo, facilidad de uso, procesamiento de datos, compatibilidad y seguridad.

Así pues, la realidad es que Hadoop provee funcionalidades que Spark no posee y viceversa por lo que un escenario que combine las bondades del procesamiento distribuido del Map Reduce y la velocidad de procesamiento de data in memory y en real time sería la perfecta y simbiótica combinación.

Enlaces de referencias:

http://searchdatacenter.techtarget.com/es/cronica/12-mitos-comunes-de-los-proyectos-de-Hadoop-disipados

Share: