Jornada de puertas abiertas 15 de septiembre

Apache Spark : ¿qué es y para qué sirve?

apache-spark

Apache Spark es un motor analítico unificado y ultrarrápido para el procesamiento de datos a gran escala. Permite realizar análisis a gran escala mediante máquinas de clúster. Se dedica principalmente al Big Data y al Machine Learning.

¿Qué es Apache Spark?

Para los curiosos, remontémonos a la creación de Apache Spark.

Todo comenzó en 2009. Spark fue diseñado por Matei Zaharia, un informático canadiense, durante su doctorado en la Universidad de California en Berkeley. Al principio, se desarrolló como una solución para acelerar el procesamiento de los sistemas Hadoop.

Hoy es un proyecto de la Fundación Apache. Desde 2009, más de 1200 desarrolladores han contribuido al proyecto. Algunos de ellos pertenecientes a empresas tan conocidas como Intel, Facebook, IBM, Netflix, etc.

En 2014, Spark batió oficialmente un nuevo récord de clasificación a gran escala. Ganó el concurso Daytona Grey Sort clasificando 100 TB de datos en solo 23 minutos. El anterior récord mundial era de 72 minutos, establecido por Yahoo utilizando un clúster Hadoop MapReduce de 2100 nodos, mientras que Spark solo utiliza 206 nodos. Esto significa que clasificó los mismos datos tres veces más rápido utilizando diez veces menos máquinas.

Además, aunque no existe una competición oficial de clasificación de petabytes, Spark va más allá al clasificar 1 PB de datos, lo que equivale a 10 trillones de registros, en 190 máquinas en menos de cuatro horas.

Esta fue una de las primeras clasificaciones a escala de petabytes realizadas en una nube pública. La obtención de esta referencia marca un hito importante para el proyecto Spark. Esto demuestra que Spark está cumpliendo su promesa de servir como motor más rápido y escalable para procesar datos de todos los tamaños, desde GB hasta TB y PB.

¿Cuáles son las ventajas de Spark?

Como habrás adivinado, la principal ventaja de Spark es su velocidad. Spark se ha diseñado desde el principio pensando en el rendimiento. Para ello, utiliza el cálculo en memoria y otras optimizaciones.

Hoy en día se estima que es cien veces más rápido que Hadoop para el procesamiento de datos, utiliza menos recursos y tiene un modelo de programación más sencillo.

Los desarrolladores destacan principalmente la velocidad del producto en términos de ejecución de trabajos en comparación con MapReduce.

Spark también es conocido por su facilidad de uso y sus sofisticados análisis. De hecho, dispone de API fáciles de usar para trabajar con grandes volúmenes de datos.

Además, Spark tiene cierta versatilidad. Cuenta con un software de procesamiento de datos de flujo, un sistema de procesamiento de gráficos. También puede desarrollar aplicaciones en Java, Scala, Python y R de forma simplificada, así como realizar consultas SQL.

El motor de análisis incluye un gran número de bibliotecas de alto nivel que admiten consultas SQL, datos en flujo, Machine Learning y procesamiento de gráficos. Estas bibliotecas estándar permiten que los desarrolladores sean más productivos. Pueden combinarse fácilmente en la misma aplicación para crear flujos de trabajo complejos.

Por último, Spark consigue un alto rendimiento para los datos en lote y en streaming gracias a un programador DAG, un optimizador de consultas y un motor de ejecución física.

Las diferencias entre Spark y MapReduce

Definamos rápidamente qué es MapReduce :

Es un modelo de programación lanzado por Google. MapReduce permite la manipulación de grandes cantidades de datos. Para procesarlos, los distribuye en un clúster de máquinas.

MapReduce ha tenido mucho éxito en empresas con grandes centros de procesamiento de datos como Amazon o Facebook. Se han desarrollado varios frameworks para aplicarlo. El más conocido es Hadoop, desarrollado por la Apache Software Foundation.

Además, con MapReduce, la especificación de la iteración sigue siendo responsabilidad del programador. Los procesos propios de la gestión de recuperación de fallos dan lugar a un bajo rendimiento. Spark utiliza un método muy diferente. Consiste en colocar las series de datos en la memoria RAM y en evitar la penalización de las escrituras en disco. De este modo, Spark admite el procesamiento in-memory, lo que permite aumentar el rendimiento de las aplicaciones de análisis de Big Data y, por tanto, la velocidad. Ejecuta todas las operaciones de análisis de datos en memoria en tiempo real y solo recurre a los discos cuando la memoria no es suficiente. En cambio, Hadoop escribe directamente en los discos después de cada operación y trabaja por etapas.

¿Quién utiliza Spark?

Desde su lanzamiento, el motor de análisis unificado ha sido rápidamente adoptado por empresas de diversos sectores. Los gigantes de Internet, como Netflix, Yahoo y eBay, han desarrollado Spark a gran escala.

Actualmente, Spark cuenta con más de 1200 colaboradores como Intel, Facebook, IBM, etc. y ahora es la comunidad más importante en el mundo del Big Data.

Permite unificar todas las aplicaciones de Spark Big Data. Spark también está indicado para campañas de marketing en tiempo real, recomendaciones de productos en línea y ciberseguridad.

¿Cuáles son las diferentes herramientas de Spark?

 

  • Spark SQL permite que los usuarios ejecuten consultas en lenguajes SQL para modificar y transformar datos.
  • Spark streaming ofrece a su usuario el procesamiento de datos en flujo. Utiliza los datos en tiempo real.
  • Spark graphX procesa la información procedente de los gráficos.
  • Spark MLlib es una biblioteca de aprendizaje automático que contiene todos los algoritmos y utilidades de aprendizaje clásicos, como la clasificación, la regresión, el clustering, el filtrado colaborativo y la reducción de dimensiones.

 

El proyecto Apache Spark sigue vivo y en constante evolución. Muchas empresas de todo el mundo lo utilizan a diario. Es una herramienta esencial en el campo del Big data y de la Data Science. Si te interesa este campo, no dudes en pedir una cita con nuestros expertos para saber más sobre Data Science y encontrar la formación que más te conviene!

Poursuivre la lecture

Vous n’êtes pas disponible ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Jornada de puertas abiertas :