Searching...
martes, 9 de enero de 2018

Introducción a Apache Spark con Anaconda Spider

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.

 
Back to top!