¿Qué es Hadoop? ¿Para qué se usa y como se usa?

Apache Hadoop

¿Qué es exactamente Hadoop? En pocas palabras, Hadoop es un conjunto de programas y procedimientos de código abierto que cualquiera puede usar como la “columna vertebral” de sus operaciones de Big Data.

¿Cuál es la historia de hadoop?

A medida que la World Wide Web creció a principios de este siglo, los motores de búsqueda y los índices fueron creados para ayudar a localizar información relevante.

A medida que la web fue creciendo, se fue  necesitando automatización. Entonces se crearon rastreadores web, algunos como proyectos de investigación dirigidos por algunas universidades y arrancaron los motores de búsqueda como: Yahoo, AltaVista, etc.

Uno de esos proyectos fue un motor de búsqueda web de código abierto llamado Nutch, creación de Doug Cutting y Mike Cafarella. Ellos pretendían devolver resultados de búsqueda web más rápido distribuyendo datos y cálculos entre diferentes computadoras para que se pudieran realizar múltiples tareas simultáneamente. Durante este tiempo, otro proyecto de motor de búsqueda llamado Google estaba en progreso. Se basaba en el mismo concepto: almacenar y procesar datos de forma distribuida y automatizada para que los resultados de búsqueda web relevantes pudieran devolverse más rápidamente.

Para el año 2006, Cutting decidió unirse a Yahoo y se llevó consigo el proyecto Nutch, así como ideas basadas en los primeros trabajos de Google con la automatización del almacenamiento y procesamiento de datos distribuidos.

hadoop

El proyecto de Nutch se dividió: la parte del rastreador web permaneció como Nutch y la porción de procesamiento y computación distribuida se convirtió en Hadoop (que lleva el nombre del elefante de juguete del hijo de Cutting).

En 2008, Yahoo lanzó al mundo Hadoop como un proyecto de código abierto. En la actualidad,  Apache Software Foundation (ASF), una comunidad global de desarrolladores de software y colaboradores, gestiona y mantiene el marco y el ecosistema de tecnologías de Hadoop.

¿Por qué es importante Hadoop? 

Hadoop nos presenta múltiples características que lo hacen único y especial:

  • Capacidad para almacenar y procesar cantidades grandes de cualquier tipo de datos, y además de forma rápida: Con volúmenes y variedades de datos en constante aumento, especialmente desde las redes sociales y el Internet de las cosas (IoT), esa es una consideración clave.
  • Cuenta con Poder computacional: El modelo de computación distribuida de Hadoop es capaz de procesar grandes cantidades de datos rápidamente. Cuantos más nodos de computación use, más poder de procesamiento tendrá.
  • Tolerante a fallos: El procesamiento de aplicaciones y datos está protegido contra fallas del hardware. Si un nodo se cae, los trabajos se redirigen de forma automática a otros nodos para asegurarse de que la informática distribuida no falle. Varias copias de todos los datos se almacenan automáticamente.
  • Es muy Flexible: A diferencia de las bases de datos tradicionales, no es necesario procesar previamente los datos antes de almacenarlos. Puede almacenar tantos datos como usted guste y decidir cómo usarlos más adelante. Eso incluye datos no estructurados como imágenes, textos o vídeos.
  • Es de bajo costo: El marco de código abierto es totalmente gratuito y utiliza hardware básico para almacenar grandes cantidades de datos.
  • Es escalable: Puede hacer crecer fácilmente su sistema para manejar más datos simplemente agregando nodos. Se requiere poca administración.

Hadoop

¿Cómo se usa Hadoop? 

Los usos más populares de Apache Hadoop incluyen:

Almacenamiento con un costo bajo y archivado de datos 

El bajo costo del hardware básico hace que Hadoop sea muy útil para almacenar y combinar datos como transaccionales, redes sociales, sensores, máquinas, científicos, transmisiones de clics, etc. El almacenamiento de bajo costo le permite mantener información que no se considera actualmente crítica pero con la posibilidad de que usted la analice después.

Sandbox para descubrimiento y análisis 

Debido a que Hadoop fue diseñado para manipular volúmenes de datos en diversas formas, es capaz de ejecutar algoritmos analíticos. El análisis de Big Data en Hadoop puede ayudar a que su organización funcione de manera muy eficiente, y a la vez  pueda descubrir nuevas oportunidades y obtenga una ventaja competitiva. El enfoque de sandbox  le brinda la oportunidad de innovar con tan solo una pequeña inversión

Lago de datos 

Data Lakes admite el almacenamiento de datos ya sea en su formato original o exacto. Su objetivo es ofrecer una vista de datos sin procesar a los especialistas de datos para su descubrimiento y análisis. Les permite hacer preguntas nuevas o difíciles sin restricciones.

Complementación de almacén de datos 

Apache Hadoop comienza a sentarse junto a los entornos de almacenamiento de datos, así como a ciertos conjuntos de datos que se descargan del almacén de datos en Hadoop o a nuevos tipos de datos que van directamente a Hadoop. El objetivo de cada organización es contar con una plataforma idónea para almacenar y procesar datos de diferentes esquemas, formatos, etc. para admitir diferentes casos de uso que se pueden integrar en diferentes niveles.

Internet de las cosas y Hadoop

Las cosas en el Internet de las cosas, necesitan saber qué comunicar y cuándo actuar. En el centro del IoT está la transmisión, siempre en torrente de datos.

Se suele usar Hadoop como almacén de datos para millones de transacciones. La gran capacidad de procesamiento y almacenamiento masivo también le permiten usar a Hadoop como un entorno limitado para la definición de patrones a monitorear para la instrucción prescriptiva.

Apache Hadoop

Nuevos desafíos para de usar Hadoop

La programación de MapReduce no es buena opción para todos los problemas: Si bien es cierto que es bueno para solicitudes de información simples y problemas divisibles en unidades independientes, también es cierto que no es eficiente para tareas analíticas iterativas e interactivas.

MapReduce necesita mucha utilización de archivos. Debido a que los nodos no se comunican entre sí, los algoritmos iterativos necesitan que se completen múltiples fases de desplazamiento de mapa / ordenación. Esto crea múltiples archivos entre las fases de MapReduce y no son eficaces para la computación analítica avanzada.

Existe una brecha de talento ampliamente reconocida: Puede ser difícil a veces encontrar programadores que tengan habilidades suficientes en Java para y que sean productivos con MapReduce.

Es una de las razones por las que los proveedores de distribución intentan darse prisa en poner la tecnología relacional (SQL) encima de Hadoop. Es mucho más fácil encontrar programadores que sepan de SQL que habilidades de MapReduce.

Seguridad de datos: Un gran desafió se encuentra en los problemas de seguridad de datos fragmentados, aunque están surgiendo nuevas herramientas y tecnologías. El protocolo de autenticación Kerberos es un gran paso para hacer que los entornos de Hadoop sean seguros.

Gestión de datos en toda regla: Hadoop no posee herramientas completas y fáciles de utilizar para la administración de datos, limpieza de datos, y metadatos. Más deficientes son sus herramientas para la calidad y estandarización de los datos.

 

Comentarios

Puedes compartir este post si te gustó!