You are on page 1of 3

La libertad, 22 junio, 2018

BASE DE DATOS NOSQL Y SU RELACION CON SPARK Y PYSPARK


Jesús Rosales Reyes

RESUMEN

El mundo de Big Data evoluciona rápido. Siempre aparecen nuevas tecnologías que
prometen gestionar y analizar grandes volúmenes de datos de una forma más rápida,
más escalable y con unos costes de implementación y mantenimiento más baratos. Lo
cierto es que de todas esas novedades.

Existen muchas características que hacen de Spark una plataforma especial, pero
podríamos englobarlas en cinco aspectos importantes: es una plataforma de código
abierto con una comunidad muy activa; es una herramienta rápida; unificada; dispone
de una consola interactiva cómoda para los desarrolladores; y también tiene una API
para trabajar con los grandes datos.

El presente trabajo expone la información de Spark y su api PySpark, la eficiencia de su


uso, del porque la alternativa para utilizar grandes información comparado con una base
de datos tradicional.
Palabras claves:
Big Data, Spark, PySpark

1. INTRODUCCIÓN idiomas. Es el lenguaje de código


abierto disponible con Spark se conoce
Spark es un framework de computación como PySpark.
en clúster compatible con Hadoop que
almacena una gran cantidad de La API (Application Programming
información. [1] Proporciona cálculos Interface) de Spark Python (PySpark)
eficientes en memoria para grandes expone el modelo de programación de
conjuntos de datos, distribuye Spark a Python.[2] Es un sistema de
computación y datos a través de distribuido de uso general, solo hay
múltiples computadoras. Algunas comunicación implícita. Se basa en
ventajas es la velocidad que es una de Map-Reduce lo que significa que el
sus principales fortalezas, puede correr programador proporciona un mapa y
hasta 100 veces. La facilidad de uso se una función de reducción y además que
puede trabajar de forma interactiva. Las es más rápido que Hadoop.
herramientas que proporciona son de
alto nivel como Spark Sql, Mllib, GraphX Los beneficios que brinda el PySpark:
y Spark Streaming.  Muy simple para escribir código
Python es un alto nivel, interpretado, en paralelo
interactivo y lenguaje de programación  Los puntos de sincronización y
orientado a objetos. Python está los errores son manejados por el
diseñado para ser fácil de leer. Se usa framework.
con frecuencia palabras clave inglés en
tanto que otros lenguajes usan
puntuación, y tiene un menor número de
construcciones sintácticas que otros
Los contras del PySpark: Spark Streaming (PySpark) exhibe un
rendimiento muy pobre de escala
 No es tan eficiente como otros cuando se trata de cantidades muchos
modelos de programación como mayores de datos de entrada, en
MPI cuando se requiere mucha particular con 5.000.000 puntos de
comunicación. datos y mayores. Esta caída en el
rendimiento es por lo tanto un problema
El objetivo es poder procesar sus datos de que en la escala en la que se
en paralelo gracias al sistema de tiempo muestran los resultados, es difícil
de ejecución Spark. Consiste en un distinguir las diferencias en el
controlador y trabajadores (hay otros rendimiento de los otros sistemas.
componentes como programadores,
administrador de memoria, pero esos
son detalles).[3]

2. Datos de prueba
A continuación se pondrá una
evaluación de los flujos de datos
adquiridos por el Instituto Monash de
Tecnologías Ferroviarias (IRT) del
equipo. El conjunto de datos incluye
99.999 filas de datos registrados a partir
de sensores colocados en vagones de
ferrocarril. Para simular la transmisión
de datos de las muestras de datos Para
la prueba de tiempo de transmisión de
datos de prueba, se requiere múltiples Figura 1: Los resultados de tiempo de respuesta para la transmisión de
de diferentes tamaños grandes lotes de datos de prueba.

datos de prueba que han sido


generados mediante la extracción de las
lecturas de velocidad del conjunto de
datos de ejemplo proporcionado y los
replicados un número de veces para
generar los grandes lotes. El resultado
es cinco conjuntos de datos que
contienen lecturas de velocidad de
tamaños 100.000, 500.000, 1.000.000,
5.000.000, y 10.000.000 de valores de
datos, respectivamente.[4]

La Figura 1 muestra los resultados para


el tiempo de respuesta. Tanto Spark API
de Streaming exhiben un rendimiento
relativamente bueno en comparación
tanto con Storm y Samza.
Figura 2: Los resultados de las pruebas de tiempo de transmisión de
datos de prueba.
Los resultados de las pruebas de tiempo
de datos de prueba de rendimiento se
muestran en la Figura 2. El primer hecho
notar con estos resultados se relaciona
con el desempeño de Spark Streaming,
se ejecuta en el API PySpark, a medida
que aumenta de datos de entrada. En
comparación con las otras tecnologías,
3. CONCLUSIONE

En esa consulta, se presenta una


comparación de las plataformas de
Streaming mediante el análisis de una
evaluación de procesamiento de datos
para el seguimiento de los sistemas de
ferrocarril para tráfico pesado se utilizó
para las pruebas. Spark muestra un
gran rendimiento general en el
procesamiento de datos, en tiempo real,
y también permite que se creen
proyectos extensibles, adecuado para
grandes proyectos, destinados a estar
en producción durante largos períodos
de tiempo, y sujetas a cambios.
Además, la Spark proporciona un gran
número de posibles características de
tiempo y de procesamiento por lotes
real, mientras que exhiben una huella
relativamente bajo de recursos del
sistema.

4. BIBLIOGRAFÍA
[1] M. Zaharia, M. Chowdhury, M. J.
Franklin, S. Shenker, I. Stoica,
and M. Zaharia, Spark: Cluster
Computing with Working Sets. .
[2] J. Damji and J. Damji, “A Tale of
Three Apache Spark APIs:
RDDs, DataFrames, and
Datasets: When to use them and
why,” databricks.com, 2016.
[3] “Introduction to big-data using
PySpark: Introduction to
(Py)Spark.” [Online]. Available:
https://annefou.github.io/pyspark/
03-pyspark_context/. [Accessed:
17-Jun-2018].
[4] J. Samosir, M. Indrawan-
Santiago, and P. D. Haghighi,
“An evaluation of data stream
processing systems for data
driven applications,” Procedia
Comput. Sci., vol. 80, pp. 439–
449, 2016.

You might also like