Apache Hadoop: Origen e historia
Hadoop es una potente herramienta para el procesamiento de big data. Pero, ¿qué es exactamente? En esta entrada del blog, exploraremos los fundamentos de Hadoop y cómo puede utilizarse para obtener información a partir de grandes conjuntos de datos. Tanto si eres un ejecutivo que busca comprender el potencial de los grandes datos como un programador interesado en aprender más sobre Hadoop, este post te proporcionará una buena base.
Ah, sí… Antes de entrar en el detalle y conocer como funciona Hadoop, es recomendable que leas los artículos de Qué es el Big Data y Estudiar Big Data desde Cero. De esta manera, tendrás una introducción detallada de la realidad de lo que está pasando con Big Data. ¡Empecemos!
Dentro del mundillo Big Data, se dice que Hadoop es un pilar fundamental que ha marcado un antés y un después en la industria. De hecho, se dice que es una de las principales causas del Big Data. La primera versión estable se lanza de manera oficial en 2011. Por lo que, a partir de esa fecha, todo el mundo puede utilizar este framework de manera fiable y estable.
¿Qué es Hadoop?
¿De dónde viene Hadoop? Su origen
Piensa en Internet y Google: hoy millones de páginas que se actualizan todos los días. Contenido nuevo que se genera todos los días. Blogs y artículos que se escriben y suceden. Millones de enlaces, artículos y sobre todo contenido buscable en Internet.
Pues bien, para que Google posicione tu artículo este artículo en internet las arañas de Google analizan las Páginas Web de manera masiva, donde si tu quieres, tu página web queda disponible al mundo (de eso va el SEO y el mundo del Marketing Digital).
Ejemplos reales de SEO: Desde BigBayData buscamos posicionarnos los primeros para aprender Programación, Big Data, IA y Analítica Web.
Antaño, los buscadores de Yahoo! y Google vieron que cada vez más y más dispositivos se iban a conectar y producir información asique, desde los buscadores tenían el problema de ‘apuntar y actualizar las nuevas páginas y webs de manera masiva’.
Logo de Hadoop.
A partir de ahí, nació una iniciativa llamada Nutch, buscador Open Source o código abierto creado por Doug Cutting y Mike Cafarella. Más adelante, Cutting se llevaría el proyecto Nutch con él. De ahí, el buscador se dividiría en dos: la parte rastreador web (Nutch) y el procesamiento distribuido, hoy conocido como Hadoop.
Distribuido significa que haya más de un ordenador para procesarlo.
Arquitectura de Hadoop
En general, debes saber que esta tecnología está preparada para que varias máquinas ejecutan a la vez. Eso significa que está preparado para crecer y que se va a ejecutar en más de un sitio de manera creciente. Partiendo de esa realidad, principalmente podemos ver dos pilares en los que se basa:
Hadoop Distributed File System (HDFS)
El Sistema de Archivos Distribuidos Hadoop (HDFS) es un avance importante en el mundo del almacenamiento de big data. HDFS ofrece un sistema de archivos distribuido que puede gestionar cantidades masivas de información de múltiples fuentes sin bloquearse ni ralentizar el procesamiento. También toma su estructura del Sistema de Archivos de Google, por lo que es muy eficiente y está optimizado para almacenar grandes cantidades de datos de forma fiable en todos los nodos informáticos. Este innovador software de código abierto sigue estableciendo un nuevo punto de referencia para las soluciones de gestión de datos a gran escala que proporcionan escalabilidad y fiabilidad a los usuarios.
Ejemplo de Arquitectura HDFS en Hadoop.
Siguiendo con lo que hablamos en el blog, me gusta decir que HDFS es la Base de Datos (SQL).
Map Reduce en Hadoop
En este caso, MapReduce es la manera en la que se trabaja para transformar, agrupar u operar con la información. Es el enfoque y paradigma con el que debemos trabajar para desarrollar nuestros programas; se puede decir que Map-Reduce es nuestra programación (Python).
Map Reduce en Hadoop: Funcionamiento.
MapReduce es una forma de procesar grandes datos de forma rápida y segura. Funciona dividiendo un conjunto de datos y ejecutando las operaciones al mismo tiempo, en lugar de secuencialmente, lo que aumenta la velocidad de análisis. Este enfoque proporciona velocidades de cálculo rápidas y escalabilidad ya que se descompone en trozos más pequeños en diferentes máquinas.
Piensa en el divide y vencerás para leer el libro del Quijote. Mejor 20 personas a la vez que una, ¿Verdad?
Hadoop y el Clúster
La realidad es que, al final, Hadoop es una herramienta diseñada para o bien trabajar grandes volumenes de datos o bien para ser infraestructura clave dentro de una compañía con altas expectativas de crecer. De hecho, muchas empresas digitales se basan en estas tecnologías principalmente en el día a día.
Las 3 ventajas y propiedades principales de Hadoop
Sin duda alguna, existen 3 ventajas fundamentales que llevan a las corporaciones la implantación de Hadoop una vez saben qué es:
- Escalabilidad
- Tolerancia a fallos
- Alta disponibilidad
Hadoop y ETLs. La herramienta se usa como canalizador de datos.
Desventajas de tecnologías Big Data
- Fuerte componente técnico, conocimiento reducido
- No vale siempre. Sin un volumen de datos suficiente (o el esperado crecimiento) el desarrollo de estos proyectos no tiene ninguna viabilidad. No queremos matar moscas con cañonazos, a veces unos cuadros de mandos y una base de datos son suficientes.
- Complejidad hasta arrancar los sistemas y decidir arquitectura correcta.
Uso de Hadoop y Ejemplos
Tecnologías Big Data
- Una ETL nocturna para la carga de transacciones del Banco Santander
- Una Smart City hiperconectada para alertar incidencias y sacar conclusiones en Tiempo Real
- Google para indexar páginas en su buscador
- Un Cuadro de Mandos donde en tiempo real para ver el estado de un parque eólico en Iberdrola
Hadoop vs Spark
En la práctica, sucede que Spark se conecta a los grandes contenedores Hadoop muchas veces. La gente se equivoca cuando dicen que Spark es mejor cuando se olvidan de que Spark es sólo el motor de inferencia.
Por último, si quieres más detalle a nivel técnico y sientes curiosidad te recomendamos una lectura desde su repositorio oficial. Advertimos de que es bastante técnica, pero aquí lo tienes.
Qué es Hadoop (explicado en inglés).
4 lecturas recomendadas
Preguntas frecuentes
¿Qué es Hadoop y para qué sirve?
En pocas palabras, es una especie de caja base donde a partir de aquí conectamos Bases de Datos y otras tecnologías para hacer Big Data. Por eso, se dice que es clave a nivel de infraestructura, es como un puente para hacer Big Data.
¿Qué lenguaje utiliza Hadoop?
Hadoop está hecho en Java, pero podemos utilizarlo de muchas maneras con muchos lenguajes de programación. Lo importante es saber cómo funciona para saber utilizarlo.
¿Qué es Hadoop y noSQL?
Hadoop es un framework de desarrollo para Big Data. Las Bases SQL y noSQL se colocan alrededor de ella para hacer Big Data.
¿Quien usa Hadoop?
Realmente cualquier sector como las tecnológicas, Seguros, Finanzas, Eléctricas… Lo importante es que haya un gran tráfico o volumen de datos. Imagina miles de discos duros llenos.
¿Dónde se ejecuta Hadoop?
Hadoop se ejecuta en la Nube normalmente. Al final, son varios ordenadores potentes ejecutando a la vez. A eso se le conoce como clúster.
¿Qué lenguaje utiliza Hadoop?
Hadoop está programado en Java principalmente, al ser Open Source podrías estudiar el código por tu cuenta. Esto no significa que haya que usar Java para utilizar Hadoop.
¿Cuándo se recomienda usar Hadoop?
Cuando el volumen de datos es creciente y la empresa u organización empieza a sentir desorden por la exponencialidad de los datos.
¿Cuál es la arquitectura de Hadoop?
Maestro-esclavo y multinodo o en red. A priori está pensado para ser utilizado en la nube.
¿Cómo se relacionan Big Data y Hadoop?
Hadoop permite soportar y dar forma a grandes proyectos en datos como los de Big Data, es una especie de caja contenedora (framework para técnicos).
Artículos destacados: Quizás te interese…
¡Haz clic para puntuar esta entrada!