Esta publicación introductoria
está destinada a ayudarte a dar el primer paso en el procesamiento de Big Data
con Apache Spark utilizando la API de Python.
¿Qué es Apache Spark?
En la era del procesamiento de
Big Data, Hadoop
Map-Reduce (la implementación de código abierto del modelo Map-Reduce de Google)
ha sentado las bases para el procesamiento de operaciones paralelas en máquinas
distribuidas.
Lamentablemente, este modelo muestra
limitaciones de programabilidad y degradación en el rendimiento cuando se trata
de aplicaciones más complejas que implementan cosas tales como algoritmos de múltiples
pasos que necesitan reutilizar datos o minería interactiva de datos.
Apache Spark aborda estas limitaciones
ampliando y generalizando el modelo Map-Reduce para ofrecer una pila unificada
que es:
·
Más rápida: soporta de manera eficiente más
tipos de cálculos con la capacidad de procesarlos en memoria.
·
De propósito general: combina perfectamente
diferentes tipos de cargas de trabajo (batch, streaming, algoritmos iterativos,
consultas interactivas ... etc.) en el mismo motor.
Spark viene con un conjunto de
componentes de alto nivel como:
·
Spark SQL para consultar datos a través de SQL o
HQL,
·
Spark Streaming para procesar flujos de datos en
vivo,
·
MLlib para aprendizaje automático,
·
GraphX y mucho más por venir.
Se puede usar desde python, java
o scala. En la siguiente sección crearemos un ejemplo de job Spark con Spyder
usando la API de Python.
Primeros pasos
Descarga Cloudera quick start VM CDH 5.5
Descarga la
Máquina Virtual QuickStart CDH 5.12 de Cloudera y sigue las instrucciones
para iniciar la máquina virtual. CDH 5.x.x tiene un conjunto rico de paquetes
disponibles. Puedes consultar el paquete de CDH y la información del tarball
para obtener más detalles. La VM de inicio rápido ya incluye todos los paquetes
que necesitamos para esta publicación.
Actualizar el perfil de usuario
Añade las siguientes líneas al perfil de usuario y hazlo
efectivo con el comando Linux:
source
~/.bash_profile
export
SPARK_HOME=/usr/lib/spark
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export
PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH
Instalar y lanzar Spyder
Una manera fácil de instalar
Spyder es a través de Anaconda, que es una plataforma analítica de código
abierto que viene con los paquetes de Python más populares para análisis de
datos y ciencia de datos. Descarga
e instala Python Anaconda 3.6 con las pautas provistas: elije la versión de
Linux de 64 bits.
Haz que Spyder se pueda llamar
mediante Spark creando una copia con el siguiente comando (~ / anaconda3 es la
ubicación de instalación predeterminada; si no recuerdas dónde se encuentra
spyder, puedes ejecutar el comando Linux which spyder)
cp ~/anaconda3/bin/spyder
~/anaconda3/bin/spyder.py
Inicia Spyder con el siguiente
comando:
spark-submit ~/anaconda3/bin/spyder.py &
Ahora estás listo para comenzar a
programar tu primera aplicación Spark.
Crea tu aplicación Spark
Descarga el conjunto de datos
para este ejemplo disponible en http://datos.gob.es/es/catalogo/e00136201-2587sentimientos-y-comportamientos-de-los-ciudadanos-ante-la-navidad.
Contiene una lista de datos de interés sobre los sentimientos y comportamientos de los ciudadanos ante la navidad.
Vamos a crear una aplicación
simple para contar las ocurrencias de palabras de una columna de un archivo CSV. En este ejemplo, básicamente
estamos leyendo un archivo CSV, extrayendo la columna que necesitamos,
extrayendo las palabras reservadas y usando un algoritmo map-reduce en Spark para contar
las ocurrencias de palabras.
¡Ya estás listo! Feliz análisis y
exploración de datos con Apache Spark.
0 comentarios:
Publicar un comentario
Gracias por participar en esta página.