Você está na página 1de 7

PROCESAMIENTO DE DATOS CON APACHE SPARK

Apache® Spark™ es una infraestructura de informática de clúster de código


abierto con proceso en memoria para acelerar las aplicaciones de analítica hasta
100 veces más comparado con las tecnologías actuales del mercado.

Apache Spark es conocido por su facilidad de uso a la hora de crear algoritmos


que recopilan información útil de datos complejos. Spark se elevó a un proyecto de
Apache de máximo nivel en 2014 y continúa su expansión hoy día.

IBM está totalmente comprometido con Apache Spark, con inversiones en


innovación orientada al diseño y programas de formación a gran escala para
promocionar la innovación de código abierto y acelerar el conocimiento en todas
las aplicaciones.

Apache Spark es un framework de procesamiento en modo código abierto


desarrollado en 2009 en el AMPLab de la Universidad de California en Berkeley.
El framework fue donado a la Apache Software Foundation en 2013. Spark
permite realizar de manera rápida análisis de datos y modelos de desarrollo. Spark
permite acceder al conjunto de datos evitando la necesidad de realizar
submuestras tal y como hacen entornos tipo R. También da psoporte a trabajar en
streaming lo que permite construir modelos en tiempo real con todo el conjunto de
datasets. Si la tarea es demasiado grande para un único servidor, la arquitectura
permite dividir la tarea en piezas más manejables según las capacidades de
hardware que dispongamos en cada momento. Esas piezas de tareas divididas
funcionan en modo en memoria a lo largo del cluster de servidores, aprovechando
la memoria disponible conjunta del total de máquinas. El procesamiento de Spark
está basado en su conjunto elástico de datos distribuidos (Resilient Distributed
Dataset o RDD).

¿Porqué Spark se ha impuesto para procesamiento de big data?


En los últimos dos años Spark se ha puesto de moda en el mundo del big data
debido a su rendimiento computacional y la amplia gama de librerías como Spark
SQL, Spark Streaming, MLlib (machine learning) y GraphX.

Spark
SQL permite el procesamiento de datos estructurados. Permite trabajar
con DataFrames, una abstracción de programación, y también puede actuar como
motor de consultas SQL distribuido. Spark Streaming permite realizar un
procesamiento de datos en tiempo real, escalable, de alto rendimiento, y con
tolerancia a fallos. El objetivo de MLlib es hacer práctico, escalable y fácil el
machine learning. Consiste en un conjunto de algoritmos y utilidades comunes,
como clasificación, regresión, clustering, filtrado colaborativo y reducción de
dimensionalidad. GraphX es el componente de Spark para visualizaciones y
cálculo gráfico en paralelo.

Ventajas Spark

Hasta ahora no existía un framework de procesamiento de datos unificado que


diera respuesta a todas las demandas. Esta es la ventaja principal de Spark, que
permite a las áreas críticas de las empresas beneficiarse de las ventajas que
ofrece este marco único. Veamos algunas:

Analítica avanzada
Spark ofrece un framework para realizar análisis avanzados out-of-the-box. Incluye
como hemos visto una herramienta para realizar queries rápidamente, una librería
de aprendizaje de máquina, un motor de procesamiento de gráficos, y un motor de
análisis en datos en en streaming. No hay necesidad de implementar otras
herramientas via MapReduce, Spark ya ofrece librerías preconfiguradas, que son
más fáciles y rápidas de usar.

Simplicidad

Una de las primeras críticas que se hizo a Hadoop fue que era difícil de usar,
requería que los usuarios comprendieran una variedad de complejidades como
MapReduce o programación avanzada en Java. Aunque se ha simplificado a la
vez que se hacía más potente con cada nueva versión, la queja ha permanecido.
Spark fue creado para ser accesible a cualquiera con conocimientos en bases de
datos y algo de habilidad de scripting en Python o Scala.

Resultados más rápidos

A medida que el ritmo de los negocios se acelera, también la necesidad para el


análisis en tiempo real. Spark ofrece procesamiento in-memory en paralelo,
consiguiendo unos resultados múltiples veces más rápidos que otras soluciones
que requieren acceso a disco. Los resultados al instante eliminan los retrasos que
pueden ralentizar los procesos de negocio e incrementar la analítica necesaria.
Otras compañías han creado aplicaciones complementarias para Spark que
facilitan una gran cantidad de ampliaciones y mejoras. Lo que se traduce en que
los analistas pueden trabajar de forma iterativa, afinando las respuestas más
precisas y más completas.
Spark permite a los profesionales de la empresa hacer lo que se supone que
deben hacer.

Sin preferencia por distribuidores Hadoop


Todas las distribuciones Hadoop dan soporte ahora a Spark por una razón muy
sencilla: Spark es agnóstica en cuanto al distribuidor, lo que significa que el cliente
no está atado a un determinado proveedor. Gracias a su naturaleza open-source,
las empresas son libres para crear una infraestructura analítica basada en Spark
sin necesidad de preocuparse qué ocurrirá si cambian de proveedor Hadoop en un
futuro. Si hacen el cambio, pueden llevarse sus analíticas.

Encuesta del ecosistema Spark

Recientemente Typesafe realizó una encuesta sobre el ecosistema Spark.


Algunas claves extraídas del informe sobre cómo se están realizando
despliegues Spark en proyectos en las empresas:

 En cuanto al almacenamiento de datos, un 62% de los encuestados


utilizaban HDFS. Casi la mitad, el 46%, estaban utilizando algún tipo de
base de datos. El 41% usaba Kafka, y el 29% estaba usando Amazon S3.
 En cuanto a gestión del cluster, el 56% utilizaban una sola instancia de
Spark- Un 42% usaban YARN, y el 26% Apache Mesos.
 En cuanto a lenguajes, un 88% usaba Scala, un 44% Java, y un 22%
Python.
 En cuanto a roles de usuario, una encuesta de Databricks realizada en
2015, un 41% de los encuestados se consideraba ingeniero de datos, un
22,2% científico de datos, un 17,2% arquitectos de datos, un 10,6% tenían
un perfil de gestión de negocio, y un 6,2% estaba relacionado con el
entorno académico.
10 sectores principales utilizando Spark. Databricks Spark Survey Report 2015

Spark, el entorno big data de moda

La cantidad global de datos generados cada día es de 2,5 exabytes. El mercado


de big data ha sobrepasado los 27.000 millones USD. Spark es una arquitectura
de computación expresamente diseñada para este tipo de crecimiento. En Junio
de 2015 IBM anunció que iba a formar un millón de data scientists e ingenieros en
Spark. Otras razones por las que la trayectoria ascendente de la arquitectura:

Reinventando MapReduce

Comparándolo con MapReduce, Spark ofrece mayor flexibilidad. MapReduce


solamente permite dos operaciones: mapear y reducir. Spark ofrece más de 80
operaciones de alto nivel. MapReduce es ineficiente al manejar determinados
algoritmos, por lo que se desarrollaron alternativas para manejar herramientas
analíticas interactivas. Spark destaca en la programación de modelos que
incorporan iteraciones, interactividad, y streaming.

Uso de HDFS

Spark permite (aunque no obliga a) usar HDFS (Hadoop File System).

Uso de YARN

Spark permite usar el gestor de cargas de trabajo YARN de Hadoop.

Uso eficiente de la memoria

El modelo Hadoop se basa en un modelo en dos etapas MapReduce en disco.


Spark es un modelo multi-etapa con primitivas en memoria, lo que permite un
tiempo de respuesta de hasta 100 veces para determinadas configuraciones. al
permitir a los programas cargar los datos en la memoria del cluster y hacer las
consultas repetidamente, Spark está especialmente preparado para algoritmos de
machine learning. En estudios de benchmark recientes referentes a
almacenamiento en memoria (como instancias HDFS sin disco) Spark superaba a
Hadoop en 20 veces.

Spark ofrece workflows de analíticas


Gracias a su librería para machine learning (MLlib), al API para gráficos analíticos
(GraphX), el soporte de queries basadas en SQL, y aplicaciones en streaming,
Spark se convierte en una plataforma convergente cuando necesitamos hacer
analítica seria en big data y usar el código que tengamos escrito en cualquiera de
los componentes para hacer nuestro propio workflow analítico.

Você também pode gostar