Spark (parte 2)

En el post pasado platicamos un poco por los antecedentes de Spark mostrando el primer estudio que se realizó comparando Spark con Hadoop.

Otra aspecto en el cual Spark arroja resultados sorprendentes es la tarea del ordenamiento de datos, de tal manera que los autores del libro, mencionan que no hay otro sistema en el mundo más rápido que Spark (claro al momento que se escribió dicho libro, en esto de las Tecnologías de la Información todo es relativo).

"Aunque Spark es bien conocido por su rendimiento en memoria, fue diseñado para ser un motor de ejecución general que funciona tanto en memoria como en disco. Por ejemplo, Spark ha configurado el ordenamiento de datos, para el cual los datos no se cargaron en la memoria; más bien, Spark realizó mejoras en la serialización y la  reorganización de la red, así como el uso eficiente de la caché de la CPU para mejorar drásticamente el rendimiento". (Luraschi et al, 2020)

El libro detalla el poder de Spark contra Hadoop para lo cual muestro la siguiente tabla donde podemos hacer una comparación entre estos 2 frameworks al ordenar 100 Terabytes de datos.


Asi mismo la sintaxis de Spark es mucho más sencilla que la de Hadoop y en el libro lo menciona haciendo referencia al ejemplo de "conteo de palabras" con lo que se explicó el esquema MapReduce en el artículo pasado, Hadoop necesita 50 líneas de código contra solo 2 que se necesitan en Spark.

Nuevamente al amor del hombre por el hombre se hace manifiesto y el proyecto Spark se dona en 2013 a la Fundación de Software de Apache, licenciado con Apache 2.0, la cual permite su uso gratuito, y este software puede ser modificado y distribuido.

Entonces podemos concluir en este punto una definición de Spark que se menciona en su sitio web oficial "Apache Spark es un motor de análisis unificado para el procesamiento de datos a gran escala". 

A continuación enlistaremos una serie de características de esta poderosa herramienta:

Unificado.

Spark soporta muchas librerías, tecnologías de cluster y sistemas de almacenamiento.

Analítica.

La analítica es el descubrimiento y la interpretación de datos para producir y comunicar información.

Motor.

Se espera que Spark sea genérico y eficiente. 

Gran escala.

Puedes interpretar gran-escala como escala-de-cluster , es decir un conjunto de computadoras conectadas trabajando juntas.

Uno de los problemas que nos empezamos a encontrar en el Instituto es el manejo de datos con una gran cantidad de registros, y es por eso que Spark se presenta como una buena opción para resolver esta situación, en esta literatura se aborda el termino "Big Compute" que es el tipo de problemas que se nos presentan por ahora en nuestro campo de estudio.

"Por lo tanto, Spark es bueno para abordar problemas de procesamiento de datos a gran escala, generalmente conocidos como Big Data (conjuntos de datos que son más voluminosos y complejos que los tradicionales) pero también es bueno para abordar problemas de computación a gran escala, conocidos como Big Compute ( herramientas y enfoques que utilizan una gran cantidad de recursos de CPU y memoria de forma coordinada). La Big Data a menudo requiere el Big Compute, pero el Big Compute no necesariamente requiere a la Big Data.

Los problemas de Big Data y Big Compute suelen ser fáciles de detectar: si los datos no caben en una sola máquina, es posible que tenga un problema de Big Data; Si los datos encajan en una sola máquina, pero el procesamiento lleva días, semanas o incluso meses para ejecutarse, es posible que se tenga un problema de Big Compute." (Luraschi et al, 2020)

Spark es recomendable también para abordar problemas de velocidad, variedad (obtener datos de muchas fuentes de datos) y veracidad (calidad de los datos).

Dicho esto concluimos esta parte teórica para dar paso a la parte práctica, poner en marcha la combinación Spark con el lenguaje R.

Para consultar el libro lo podemos hacer aquí.

Seguimos escribiendo sobre este tema en el siguiente post.

Miguel Araujo.


Javier Luraschi, Kevin Kuo, Edgar Ruiz. (2020). Mastering Spark with R. United States of America: O'Really Media Inc.

Comentarios

Entradas populares de este blog

Librería de REDATAM para R

Conectar bases de datos Oracle con R vía JDBC

Red 7 Admin