Pasar al contenido principal
Imagen
Spark vs Hadoop, ¿cuál es mejor?

Spark vs Hadoop, ¿cuál es mejor?

Tecnology | Artículo
  • Visitas
    8234
  • Julio 2019
  • Fecha de publicación
  • Julio 2019
  • Tecnology
  • Artículo
_ESIC Business & Marketing School

_ESIC Business & Marketing School

ESIC Business & Marketing School.

Cuando hablamos de procesamiento de datos en Big Data existen en la actualidad dos grandes frameworks, Apache Hadoop y Apache Spark, ambos con menos de diez años en el mercado pero con mucho peso en grandes empresas a lo largo del mundo. Ante estos dos gigantes de Apache es común la pregunta, Spark vs Hadoop ¿Cuál es mejor?

Antes de elegir uno u otro framework es importante que conozcamos un poco de ambos.

Apache Hadoop

Hadoop es un proyecto de código abierto de la fundación Apache y creado en 2011 que permite procesar grandes volúmenes de datos beneficiándose de la computación distribuida. Está compuesto por distintos módulos que componen el framework completo, entre ellos podemos destacar:

  • Hadoop Distributed File System (HDFS): Sistema de ficheros distribuido
  • Hadoop Yarn: Gestor de recursos del cluster
  • Hadoop Map Reduce: Paradigma de programación orientado al procesamiento distribuido.

Existen muchos más submódulos independientes que se acuñan bajo el ecosistema de Hadoop como Apache Hive, Apache Pig o Apache Hbase.

Apache Spark

Spark es también un proyecto de código abierto de la fundación Apache que nace en 2012 como mejora al paradigma de Map Reduce de Hadoop. Tiene abstracciones de programación de alto nivel y permite trabajar con lenguaje SQL. Entre sus APIs cuenta con dos de procesado de datos en tiempo real (Spark Streaming y Spark Structured Streaming), una para aplicar Machine Learning distribuido (Spark MLlib) y otro para trabajar con grafos (Spark GraphX).

Aunque Spark cuenta también con su propio gestor de recursos (Standalone), este no goza de tanta madurez como Hadoop Yarn por lo que el principal módulo que destaca de Spark es su paradigma procesamiento distribuido.

Por este motivo no tiene tanto sentido comparar Spark vs Hadoop y es más acertado comparar Spark con Hadoop Map Reduce ya que los dos realizan las mismas funciones. Veamos las ventajas y desventajas de algunas de sus características:

  • Rendimiento

    Apache Spark es hasta 100 veces más rápido que Map Reduce ya que trabaja en memoria RAM (a diferencia de Map Reduce que almacena los resultados intermedios en disco) acelerando así enormemente los tiempos de procesamiento.Además la gran ventaja de Spark es que cuenta con un planificador denominado DAG que establece las tareas a realizar y optimiza los cálculos.
  • Complejidad de desarrollo

    Map Reduce se programa principalmente en Java aunque cuenta compatibilidad con otros lenguajes. La programación en Map Reduce sigue una metodología concreta lo que hace que haya que modelar los problemas acorde a esta manera de trabajar.Spark, por el contrario, resulta más sencillo de programar en la actualidad gracias al enorme esfuerzo de la comunidad por mejorar este framework.Spark es compatible con Java, Scala, Python y R lo que lo convierte en una gran herramienta no solo para los Data Engineers sino también para que los Data Scientist realicen análisis sobre los datos.
  • Coste

    En términos de costes computacionales Map Reduce requiere un cluster que cuente con más discos y que sean más rápidos para el procesamiento. Spark, por otro lado, necesita un cluster que cuente con mucha memoria RAM.En lo económico ninguno de los dos requiere de licencia ya que son de código abierto.

Conclusiones

Apache Spark parece sin duda el candidato perfecto si queremos emplear un framework para programar Big Data, sin embargo, no cuenta con su propio sistema de ficheros distribuido y es donde se apoya en el sistema de Hadoop, HDFS.

También permite trabajar con su gestor de recursos Hadoop Yarn y con muchos del resto de módulos con los que cuenta Hadoop.

Es por esto que como conclusión podemos decir que en la actualidad emplear la simbiosis entre Apache Spark + Apache Hadoop es la mejor opción para trabajar con Big Data, haciendo uso del músculo de Hadoop (Hadoop YARN, HDFS…) y el cerebro de Spark.

¿Quieres dominar las tecnologías Big Data y conviértete en Director de Proyectos end to end? Fórmate con el Master en Big Data Management de ESIC.

Victor Valero Fernández Big Data Scientist en StratioDB y Profesor de ESIC

  • Fecha de publicación
  • Julio 2019
  • Tecnology
  • Artículo
  • Autor

También te puede interesar

Qué es un cliente misterioso y para qué se utiliza esta técnica

Marketing y Comunicación

No hay nada como escuchar el feedback de los consumidores para saber si el servicio que les estamos ofreciendo es bueno o no. En este sentido, existen numerosas técnicas para descubrir qué sienten l...

Qué es el Workforce Management (WFM) en un call center y cuáles son sus funciones

Marketing y Comunicación

Si trabajas en el ámbito de los recursos humanos, estas tres siglas (WFM) habrán sido desde hace un tiempo tus compañeras de viaje. De hecho, quizá las conozcas por su significado en español («g...

Email marketing automation: qué es, ejemplos y herramientas más usadas

Marketing y Comunicación

Hay quien considera el email marketing automation como la última tendencia en la era digital pero, en realidad, es mucho más. En 2024 ya es un recurso imprescindible para las empresas de cualquier t...