Spark, El mejor framework Big Data

Autor: | Última modificación: 13 de enero de 2022 | Tiempo de Lectura: 4 minutos
Temas en este post:

Nos hemos encontrado muchas veces con la pregunta de «¿qué puedo aprender para empezar en el sector del Big Data?» o si tienes algo más de experiencia «¿cuál es mejor framework Big Data?». Esta entrada intenta resolver estas dudas y presentarte a Apache Spark, por si no lo conocías ya.

Allá por 2003 nació un concepto en un paper de Google. Big Data fue su nombre.

Este concepto se ideó para el procesamiento de una ingente cantidad de ficheros cumpliendo con las 3 «V»: Velocidad, Volumen y Variedad. Gracias a la llegada de Hadoop en 2006 y su alianza, este concepto despegó y pasó a ser una realidad. Pero no hay reino que dure cien años, y apareció en escena un nuevo framework Open Source: Spark. Y si hablamos de Big Data, Spark ya no es una promesa de futuro, es el presente.

Spark: Heredero de Hadoop y mejor framework Big Data

Spark ha atravesado el corredor respaldado por el pueblo. Y es que si antes hablar de Big Data era hablar sobre Apache Hadoop, esto ha cambiado, pues ahora mismo, IBM, Amazon, Microsoft o Google (y cada vez más empresas) lo integran con sus productos de Big Data. Y

es que las ventajas de Spark sobre Hadoop la han convertido en la nueva esperanza para el pueblo. Hablar de Big Data era hablar de Hadoop, pero ahora, Apache Spark es el nuevo Señor.

5 Ventajas de Spark sobre Hadoop

1. Nuevo paradigma

En primer lugar, Spark es más reciente y casi se podría considerar una evolución de Hadoop.

Spark fue diseñado para tener un core y diferentes componentes que extienden su uso. Si al realizar mejoras en el núcleo de Hadoop, todos los módulos en los que se apoya este core no se beneficiaban de las mejoras, con Spark es totalmente lo contrario. Spark fue diseñado para tener una única API para todo, creando un potente sistema que facilita las mejoras en el desempeño.

2. Velocidad

La primera de las 3 «V» que debe cumplir un framework.

Si bien Hadoop podría considerarse rápido, Spark es muy superior. Con esta analogía quedará claro: Hadoop es probablemente el caballo más veloz sobre la faz de la tierra, pero Spark es un coche. U otra más: Hadoop es un disco duro 10 veces más rápido que el tope de gama, Spark es un SSD 20 veces superior. Spark es capaz de ejecutar análisis de varios órdenes de magnitud de una forma mucho más rápida que lo que podrían hacer los despliegues de Hadoop.

3. Compatibilidad

Si un proyecto ha invertido una gran cantidad de dinero en Hadoop podría plantearse el mantener su status quo a pesar de haber mejores opciones. Pero con Apache Spark no hay ese problema, Spark puede coexistir con las instalaciones existentes de Hadoop y además añadir nuevas funcionalidades.

La integración Spark-Hadoop es perfecta, y se pueden utilizar los datos que están en el sistema de fichero de Hadoop HDFS o ejecutar los procesos de Spark usando YARN.

4. Potencia de sus módulos

Spark es un framework de análisis distribuido en memoría, importante este concepto, pues es lo que le permite ir más allá de las operaciones en batch de Hadoop MapReduce y tener diferentes módulos que agregan funcionalidades al framework.

Estos son los 3 módulos más populares dentro de Spark y que más éxito le están dando, ya que gracias a ellos los desarrolladores pueden crear proyectos de Big Data de una forma mucho más barata y completa:

  • Spark SQL

SQL es el lenguaje más extendido en el mundo de los datos estructurados, y Spark es capaz de usar diferentes fuentes de datos: CassandraDB, MongoDB, Amazon S3, Elastic Search o HIVE entre otros. Además, permite la gestión de fuentes internas de datos como si se tratasen de tablas de datos estructuradas. De este modo, las herramientas de Business Inteligence pueden acceder a la información gestionada por Spark.

  • Spark Streaming

Este módulo puede procesar datos utilizando una gran variedad de algoritmos y funciones como reduce, join, window o map. Estos datos, son procesados y enviados en tiempo real a archivos en file systems o popular dashboards.

A grandes rasgos, lo que hace es convertir un gran flujo de datos en pequeños lotes. Más en detalle, lo que pasa es que Spark Streaming almacena los datos y los procesa como una secuencia de RDDs, que es la unidad de información que consume el Spark Core.

De esta forma, el core procesa los datos de una forma normal y liviana, liberando así al Spark Streaming para que sólo tenga que encargarse de crear y coordinar los RDDs. De esta forma consigue que el procesamiento del streaming sea casi en tiempo real.

  • MLlib

Es el nombre que reciben las bibliotecas integradas que cuentan con una serie de algoritmos clásicos de Machine Learning para poder llevar a cabo un análisis predictivo en un conjunto de datos abierto. Proporciona varias utilidades como pueden ser clasificación, regresión, agrupación en clústeres, modelado de tema, comprobación de hipótesis o cálculo de estadísticas entre otras.

mejor framework Big Data

5. Pensado para desarrolladores

Cada vez más tecnologías piensan en el desarrollador, y Spark es un gran ejemplo de ello.

Programado con Scala, Spark se puede programar de manera muy concisa y fluida con soluciones que antes requerirían cientos de lineas. Además —que no es poco—, se puede programar en Python, R, Java y por supuesto Kotlin (ya tratamos este último lenguaje de programación para Android en detalle en nuestro webinar).

Spark, desde el principio, ha sido diseñado para solucionar muchos problemas que se presentaban en Hadoop y, gracias a esta filosofía el número de adeptos y contribuidores es cada vez mayor. Se podría decir que a estas alturas, Spark ha alcanzada el punto de madurez.

Todas estas funcionalidades han convertido a Spark en el mejor framework Big Data, sobre todo en una solución barata para el Big Data. Muchas empresas y desarrolladores, a su vez, se decantan por este framework, que sienta las bases de lo que debe ser una solución completa para el Big Data.

Por ello, para que sigas estando en línea con el mercado, queremos invitarte a que veas nuestro webinar sobre el mejor framework Big Data (PySpark) para que descubras por ti mismo todo lo que puede ofrecerte esta tecnología.

 

YouTube video

[email protected]