Hadoop: ¿qué es?
Big Data es ya un tópico habitual y parte de la culpa la tiene la transformación digital de las empresas, que ha conseguido que los datos sean parte del cambio a nivel tecnológico, cultural y de procesos. Sin embargo, no sucede lo mismo con Hadoop. Qué es, para qué sirve y cuáles son sus implicaciones son solo algunas de las preguntas más frecuentes que se suelen oír. La cuestión es que, no se puede saber de Big Data sin entender Hadoop, pero ¿qué es exactamente?
Hadoop: qué es
En pocas palabras, se puede considerar a Hadoop como un conjunto de programas y procedimientos de código abierto. Esto significa que todos los componentes de su ecosistema son gratuitos y están a disposición de cualquiera, para su uso o modificación, con algunas excepciones.
Conocer Hadoop y qué es permite beneficiarse de esta fuente inagotable de recursos, que se pueden usar como la "columna vertebral" de las operaciones de big data.
¿Cómo es Hadoop?
La ventaja es que no es preciso ser ingeniero de software para hablar de Hadoop, qué es o cuáles son sus componentes. En resumen, podría incluso decirse que es un ecosistema de tecnologías que hacen posible el análisis de grandes datos y que se basa en cuatro módulos.
Cada uno de estos módulos realiza una tarea particular esencial para un sistema informático diseñado para el análisis de big data. Así, podemos encontrar:
- Sistema de archivos distribuido. Permite que los datos se almacenen en un formato de fácil acceso, a través de una gran cantidad de dispositivos de almacenamiento vinculados. Un "sistema de archivos" es el método utilizado por un ordenador para almacenar datos, por lo que se puede encontrar y utilizar la información. Normalmente, esto está determinado por el sistema operativo de cada ordenador, sin embargo, un sistema Hadoop utiliza su propio sistema de archivos que se encuentra en un nivel superior al del sistema de archivos del ordenador anfitrión. Esto implica que se puede acceder a él utilizando cualquier ordenador que ejecute cualquier sistema operativo compatible.
- MapReduce. Un componente de Hadoop que es el que proporciona las herramientas básicas para buscar en los datos debe su nombre a sus principales funciones. Este módulo lleva a cabo dos operaciones básicas: leer los datos de la base de datos y ponerlos en un formato adecuado para el análisis (map) y realizar operaciones matemáticas, es decir, contar el número de registros que reúnen una serie de condiciones o requisitos determinados dentro de una base de datos de clientes (reduce).
- Hadoop Common. Este módulo se encarga de proporcionar las herramientas (en Java) necesarias para los sistemas informáticos del usuario (Windows o Unix, entre otros) para leer los datos almacenados en el sistema de archivos Hadoop.
- Yarn. Es el módulo que administra los recursos de los sistemas que almacenan los datos y ejecutan el análisis.
Varios otros procedimientos, bibliotecas o funciones se han considerado parte del "marco" de Hadoop en los últimos años, pero el sistema de archivos distribuido de Hadoop, el MapReduce de Hadoop, el Hadoop Common y el Yarn de Hadoop son los cuatro principales.
¿Cómo surgió Hadoop?
El desarrollo de Hadoop comenzó cuando un grupo de ingenieros de software con visión de futuro se dieron cuenta de que se estaba convirtiendo rápidamente en algo útil para que cualquiera pudiera almacenar y analizar conjuntos de datos mucho más grandes de lo que hasta el momento era posible. De hecho, poder responder a la cuestión “Hadoop, ¿qué es?” implica entender que, prácticamente, gracias a él se puede almacenar y acceder a los grandes datos en un dispositivo de almacenamiento físico (como un disco duro).
Esto se debe en parte a que, a medida que los dispositivos de almacenamiento físico se hacen más grandes, el componente que lee los datos del disco (que en el disco duro sería el "cabezal") tarda más en moverse a un segmento específico. En cambio, muchos dispositivos más pequeños que trabajan en paralelo son más eficientes que uno grande.
Hadoop fue lanzado en 2005 por la Apache Software Foundation, una organización sin fines de lucro que produce software de código abierto.
¿Cuáles son los usos más comunes de Hadoop?
La naturaleza flexible de un sistema Hadoop hace posible que las empresas agreguen o modifiquen su sistema de datos a medida que cambian sus necesidades, utilizando partes baratas y fácilmente disponibles de cualquier proveedor de TI.
Hoy en día, es el sistema más utilizado para proporcionar almacenamiento y procesamiento de datos a través de hardware "básico", o lo que es lo mismo: de sistemas relativamente baratos, listos para usar y vinculados entre sí, en lugar de costosos sistemas personalizados hechos a medida para el trabajo en cuestión.
En su estado "sin procesar", utilizando los módulos básicos que se suministran aquí por Apache, puede ser muy complejo, incluso para los profesionales de TI. Es por ese motivo por el que se han desarrollado varias versiones comerciales, como Cloudera, que simplifican la tarea de instalar y ejecutar un sistema Hadoop, a la vez que ofrecen servicios de capacitación y soporte. Gracias a la naturaleza flexible del sistema, las empresas pueden expandir y ajustar sus operaciones de análisis de datos a medida que su negocio crece.
Así que, en pocas palabras, podría decirse que Hadoop es innovación, internet y big data más accesible para todos, algo que no sería posible sin el apoyo y el entusiasmo de la comunidad de código abierto detrás, que ha dado lugar a grandes avances.
Y, si después de leer este post todavía te estás preguntando “Hadoop, ¿qué es?”, entonces puede que te interese saber que su nombre viene del que se le dio a un elefante de juguete perteneciente al hijo de uno de los creadores de este ecosistema.