HDFS Y MapReduce, la base de un Hadoop robusto

Hadoop, el exitoso proyecto de open-source supervisado por Apache Software Fundation, es una tecnología barata que permite procesar grandes cantidade


Hadoop cluster resized 600

Hadoop, el exitoso proyecto de open-source supervisado por Apache Software Fundation, es una tecnología barata que permite procesar grandes cantidades de datos muy diversos. Sus enormes ventajas con respecto a los típicos sistemas distribuidos no significa que no tenga inconvenientes, como la latencia o problemas de compatibilidad del streaming y archivos batch, pero ello no compromete la robustez de este framework.

Como es sabido, Hadoop es un framework basado en Java que sigue dos sencillos conceptos: el almacenamiento de datos en Hadoop Distributed File System (HDF)y su procesamiento a través de MapReduce, el modelo de programación para el procesamiento distribuido de datos.

MapReduce y HDFS

MapReduce hace buena la famosa máxima romana de Divide et impera (divide y vencerás) pues toma un problema complejo y lo divide en partes procesables de forma paralela. Cada uno de estos trozos los envía a un nodo del cluster o servidor para trabajar con ellos en las fases de mapeo (Map) y Reduce, en este caso tomando como entrada las listas obtenidas en el Map y generando una colección de valores.

Por otra parte, HDFS es un sistema de ficheros distribuido que almacena grandes cantidades de datos y hardware económico. Se logra potencia uniendo nodos al cluster, es decir, equipos que no tienen características excepcionales, lo que facilita el reemplazo ante una avería.

El uso de Hadoop con programas como HDFS o MapReduce permite trabajar de forma paralela con grandes datos, ofreciendo una solución integrada y fácilmente escalable. En “Hadoop. The Definitive Guide”, el famoso libro de Tom White, Hadoop se define como linealmente escalable (se pueden añadir nodos en función de las necesidades), con una alta disiponibilidad (los ficheros son replicados tantas veces como sea necesario, dotándolo de fiabilidad) y tolerancia a fallos.

En efecto, cuando se trabaja con MapReduce y HDFS en Hadoop se evitan los fallos de cluster de servidores, es decir, el framework tiene el mismo comportamiento en caso de fallos en el servidor, por lo que no se abortan los procesos de cálculo.

Esta tolerancia a fallos se traduce en una robustez para Hadoop que se suma a otras ventajas indiscutibles como un bajo costo de almacenamiento, facilidad de uso, rendimiento, rapidez y flexibilidad a la hora de analizar tanto datos estructurados como no estructurados.

Partiendo de que ningún sistema distribuido puede alcanzar máximos en consistencia, disponibilidad y tolerancia a fallos, según el profesor Eric Brewer, Hadoop se acerca bastante a estos tres requerimientos, por lo que puede decirse que es un sistema distribuido con prestaciones muy altas.

                                   

                                            

Descárgate nuestra Guía sobre Big Data
                  

 

El futuro de MapReduce

El desarrollo de Hadoop sigue avanzando con nuevas aportaciones que mejoran su usabilidad, como el framework Spark Apache, que puede mejorar el rendimiento de MapReduce, enriqueciendo su núcleo. Aunque Spark podría sustituir a MapReduce o incluso actuar de forma independiente, convirtiéndose en sucesor de Hadoop, lo cierto es que tiene grandes posibilidades trabajando con éstos para mejorar problemas como la latencia, el análisis de datos en tiempo real y una mayor eficiencia en consultas que solicitan los datos repetidamente.

La polivalencia de Spark podría verse como un peligro para el futuro de Hadoop, que en su día marcó la diferencia frente a las bases de datos relacionales (RDBMS) como sistema de almacenamiento y procesamiento distribuido. Por lo pronto, numerosos analistas creen que es el principal candidado como sucesor de MapReduce o del mismo Hadoop. Sea como fuere, lo cierto es que Spark es un framework autónomo, pero su diseño permite trabajar con el sistema de archivos distribuidos Hadoop. En concreto, se puede ejecutar directamente en HDFS, dentro de MapReduce o para trabajar de forma paralela con MapReduce en el mismo clúster.

 

Post relacionados:

Databricks certificará sofware de terceros para Spark Apache

Hadoop ¿sí o no? Las preguntas que te ayudarán a decidir 

Hadoop 1.0.3 api: viaje a la nube

 

 

 

Créditos fotográficos: Cubie equipo

Artículos relacionados

Subscríbete a nuestro blog y recibe las últimas actualizaciones sobre gestión de datos.

Descubre contenido nuevo todos los días para profundizar la transformación digital en tu organización.