Hadoop es actualmente el marco de desarrollo para implantar el Big Data. Está formado por un conjunto de capacidades reales, automáticas y escalables que permiten gestionar el flujo de datos, transformando los datos en bruto (Raw Data) en valores (Insight).

Su creador fue Doug Cutting, quien lo donó a Apache Software Foundation (organización sin ánimo de lucro creada para dar soporte a los desarrollos de Software). Su nombre y el logo son debidos a la mascota de su hijo, un elefante de peluche llamado Hadoop.

Surge en 2004 a partir de un White Paper de Google que describía su sistema de ficheros. Doug no tuvo problema en implantarlo y mejorarlo. Hadoop satisface las necesidades básicas del Big Data: el almacenamiento y el procesamiento de datos, por lo que se basa en dos conceptos, como ya explicamos en nuestra ponencia en Try It! 2016, HDFS y MapReduce

El sistema distribuido de ficheros trabaja sobre grupos de ordenadores, organizados en lo que se llama un cluster, que puede incluir desde una máquina (nodo), hasta 30.000 según la web de Apache. Cada máquina puede tener varios discos.

Hadoop funciona en modo cliente-servidor. Existe un nodo máster que se encarga de la gestión del almacenamiento y procesado, o sea, de dónde está cada fichero de datos, de enviar las órdenes de procesado de los datos (Jobs) y de asegurar que todo queda procesado del modo más eficiente posible.

Los grandes ficheros de datos de entrada se trocean en tamaños menores (64GB ó 128GB) y cada trozo se replica al menos tres veces en nodos distintos. Así comienza el procesamiento en paralelo. Si alguno de los nodos falla, el máster detecta el fallo y asigna el trabajo a otro nodo disponible.

MapReduce trabaja mediante algoritmos simples de “clavevalor”. La parte de Map asigna la clave a la información que estamos buscando. El ejemplo estrella de los cursos de Hadoop es el algoritmo de contar palabras en un texto. La clave sería cada palabra, y el valor las veces que aparece. Primero contaríamos cada palabra, después ordenaríamos las palabras y finalmente, en la fase Reduce, sumaríamos las palabras que aparecen repetidas.

Con este método se ahorra tiempo de transferencia de ficheros, ya que el almacenamiento y el procesamiento se produce en el mismo sitio.

Hadoop trabaja en modo batch, es decir, ejecutando unos procesos tras otros. Está optimizado para leer cada fichero entero, por lo que está enfocado a trabajar con pocos ficheros grandes en vez de con muchos pequeños, porque lo carga en memoria y lo lee de una sola vez.

Por suerte, existe todo un ecosistema para trabajar con Hadoop, y no tener que escribir todo el código necesario para realizar la asignación de ficheros, el procesamiento, etc. Como veremos en nuestro próximo artículo.

Durante la pasada semana se celebró en la Escuela Técnica Superior de Ingeniería (ETSI) Informática de la Universidad Politécnica de Madrid el evento Try It 2016, donde las empresas más punteras y otras organizaciones presentaron a los estudiantes las tecnologías más novedosas, con especial atención al Big Data. Allí estuvo Datahack el pasado jueves 17 a las 13:20 horas contando a la audiencia la funcionalidad del Big Data, la evolución de Hadoop y las ventajas del Machine Learning, cuyo contenido desconocían muchos de los futuros ingenieros informáticos.

Ante una audiencia de más de 100 personas, Lourdes Hernández comenzó su charla presentando a Datahack y explicando los puntos de nuestro programa 100% práctico e intensivo, centrado en la formación técnica a través del conocimiento de R, Hadoop, Spark, Python, SQL, NoSQL, algoritmos avanzados, etc. Según McKinsey, en 2018 harán falta 200.000 científicos de datos en todo el mundo, de los que unos 20.000 serán solicitados en España.

Entrando en materia, repasamos las 5 uves del Big Data, para después pasar a ver la evolución de Hadoop, no desde la invención del ábaco, pero sí desde que en 2002 Doug Cutting y Mike Cafarella comenzaron a trabajar en Nutch hasta que en 2009 Cutting pasa a formar parte de Cloudera. ¿Qué es Hadoop? Hadoop es un sistema para el almacenaje y el procesamiento de datos a gran escala, gracias al almacenamiento de datos en HDFS y al procesamiento mediante MapReduce.

Try It 2016

Try It 2016 - Datahack - Lourdes Hernández - cronología Hadoop

La comunicación entre nodos en Hadoop es mínima, además de usar múltiples discos en paralelo, pudiendo procesar fácilmente 3 TB de datos en 15 segundos. Además, su lenguaje de programación suele estar escrito en Java, dando la posibilidad de escribir MapReduce casi en cualquier lenguaje, sin necesitar código de red ni sincronización.

Sin embargo, y esto es importante, Hadoop no es solo Hadoop, sino que forma todo un ecosistema formado por múltiples aplicaciones relacionadas con el Big Data: Flume, Sqoop, Oozie, Pig, Mahout, R Connectors, YARN, Hive, Hbase… Hadoop permite realizar minería de datos, proceso mediante el cual se puede obtener información nueva a partir de textos ya existentes (un 80% de la información existente es textual). Permite recuperar y extraer información, y establecer relaciones entre ellas, incluso en textos no estructurados como PDF o Word.

Se puede desde medir el prestigio de una persona hasta explorar cómo se ha extendido un rumor, o incluso identificar amenazas mediante la detección de patrones, analizar drogas y sus efectos secundarios y resolver problemas basados en relaciones.

Try It 2016

Try It 2016 - Datahack - Lourdes Hernández presentando el programa

Por último, vimos varios casos en los que Hadoop podía ayudar a las empresas, tales como como la identificación de la verdadera razón de una pérdida continua de clientes o la correcta programación de un motor de recomendación que sugiera automáticamente a los clientes la compra de unos productos determinados.

La audiencia salió satisfecha del salón de actos del Bloque Uno de la Facultad y nosotros nos llevamos con nosotros el entusiasmo de una generación de estudiantes que está siendo enormemente demandada en el ámbito laboral.

MÁSTER EXPERTO EN BIG DATA & ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.

Una de las labores principales del científico de datos Big Data es la conversión de datos en conocimiento útil para la empresa. Para realizar este interesante trabajo necesitan utilizar herramientas Big Data específicas, tanto de pago como de Open Source. De hecho, según la decimosexta encuesta de KDNuggets, el 64 por ciento de los científicos de datos utilizan ambas herramientas Big Data.

Desde la perspectiva de Datahack, las diez herramientas Big Data imprescindibles para la correcta labor del científico de datos son las siguientes:

1.- SQL. Structured Query Language. Requiere manejo de fórmulas algebraicas y cálculo relacional. Es un lenguaje de acceso a base de datos.

2.- Python.  Es un lenguaje avanzado de programación interpretado que posee una sintaxis capaz de producir código legible. Permite tanto programación dirigida a objetos como funcional e incluso imperativa (Instrucciones que le explican al ordenador cómo debe realizar una determinada tarea). Además, puede utilizarse en múltiples plataformas

3.- R. Es la más usada de las herramientas Big Data entre los científicos de datos, lo que asegura la existencia de multitud de paquetes y librerías fácilmente reutiizables. Es un lenguaje de programación con software de código abierto, destinado a la programación estadística y los entornos gráficos

4.- KNIM. Konstanz Information Miner, construido bajo la plataforma Eclipse, es una plataforma de minería de datos que permite el desarrollo de modelos en un entorno visual.

5.- RapidMiner. Permite desarrollar procesos analíticos de un entorno gráfico. Antiguamente era denominado YALE (Yet Another Learning Environment). Proporciona más de quinientos operadores dedicados al análisis de datos, incluyendo los necesarios para realizar operaciones input y output, pre-procesamiento y visualización. Tiene la ventaja de poder usar los algoritmos de Weka.

6.- Tableau. Se centra en la visualización de datos.

7.- Hadoop. Esta herramienta está actualmente considerada como el framework estándar para el procesamiento y almacenamiento de grandes volúmenes de datos.

8.- Spark. Es una ventana de trabajo de desarrollo. Su motor rápido le permite procesar datos a gran escala además de realizar procesamiento en memoria.

9.- SAS.  SAS es la líder de las herramientas Big Data en el mercado del Business Intelligence.

10.- Excel. Esta herramienta de Microsoft es esencial como herramienta de creación y gestión de bases de datos.

chevron-down