¿Por qué Hadoop está muerto?
Manuel Zaforas, es Scrum Master y Arquitecto BigData en Paradigma, argumenta por qué está Hadoop muerto y por qué se impondrán otras herramientas.
En los últimos años Hadoop y todas las herramientas que han surgido a su alrededor han sido sin duda los reyes del universo Big Data. Su relevancia ha sido tal que se ha denominado ecosistema Hadoop a este conjunto de tecnologías emergentes, cuando quizá lo más correcto sería haber hablado del ecosistema Big Data.
Pero, ¿qué es estrictamente Hadoop? Hadoop es un framework para procesamiento y almacenamiento distribuido, compuesto de varias herramientas para alcanzar este ambicioso objetivo.
Los principales componente de Hadoop son:
– Hadoop Common – Librerías y utilidades comunes
– Hadoop Distributed File System (HDFS) – Un sistema de ficheros distribuido que nos permite almacenar grandes volúmenes de datos sobre hardware de bajo coste de forma distribuida
– Hadoop YARN – Una plataforma para la gestión y planificación de los recursos del cluster
– Hadoop MapReduce – Una implementación del paradigma MapReduce que nos permite procesar en paralelo grandes volúmenes de datos.
Estos componentes siguen teniendo una gran importancia, en particular Hadoop HDFS, cuya propuesta para la implementación de un sistema de ficheros distribuido no tiene competencia hoy en día.
Sin embargo Hadoop MapReduce, se ha convertido en una herramienta obsoleta y que no cubre las necesidades actuales de las compañías. Es necesario dar un paso adelante en este sentido y avanzar a las herramientas Big Data de segunda generación.
Spark
Spark es el reemplazo natural de Hadoop MapReduce, ha sido diseñado para integrarse perfectamente con el resto del ecosistema, incluido Hadoop HDFS.
El desarrollo de Spark comenzó en el 2009 en el AMPLab de la universidad de Berkeley, más adelante fue acogido como proyecto dentro de la fundación Apache hasta convertirse en uno de los proyectos Top level más relevantes, además su evolución y mantenimiento está soportado por la compañía databricks.
¿Qué hace de Spark una herramienta de segunda generación que reemplace a Hadoop MapReduce? Lo que marca la diferencia sin duda es la velocidad, a diferencia de Hadoop MapReduce, Spark maneja la mayoría de operaciones en memoria, lo que reduce significativamente los tiempos de lectura y escritura. Esto nos permite ejecutar de 10 a 100 veces más rápido que con Hadoop MapReduce, que trabaja persistiendo en disco cada paso de la ejecución.
Spark implementa un modelo de ejecución y de tolerancia a fallos basado en Resilient Distributed Datasets (RDDs) lo que permite la recuperación en caso de errores.
Además Spark no se queda en el procesamiento batch con MapReduce, sino que va más allá, ofreciéndonos procesamiento en real-time a través de Spark Streaming. Sin duda uno de los casos de uso más interesantes hoy en día donde la necesidad de procesamiento y respuestas en tiempo real es más necesaria que nunca, como se puede observar en la definición de arquitecturas Lambda o Kappa, que nos indican el camino a seguir.
Por otro lado Spark se orienta totalmente al mundo de la analítica avanzada, ofreciéndonos Spark SQL y MLlib para el acceso a los datos y la ejecución de algoritmos de machine learning respectivamente. Sin duda es la manera de entrar por la puerta grande en el mundo del data science y ser capaces de extraer valor de nuestros datos.
Todo esto liberado de forma conjunta en una sola herramienta open source, que además, simplifica el trabajo de los ingenieros Big Data, ofreciendo APIs para diferentes lenguajes como Scala, Java o Python. Estas APIs son mucho más ricas que lo que teníamos disponible con Hadoop MapReduce hasta ahora, llegando a ofrecernos más de 80 operadores de alto nivel, para trabajar con los datos, que podemos usar de forma interactiva.
Conclusiones
Si no queremos quedarnos atrás es necesario dar un paso a la siguiente generación de herramientas BigData que nos permitan enfrentarnos a los desafíos técnicos y de negocio del presente.
Sin duda, Spark está en el centro de estas nuevas tecnologías y se ha convertido ya en una parte central del ecosistema BigData desplazando a Hadoop MapReduce y dejándolo como una pieza de museo de la historia de la computación moderna.