Cómo usar PySpark en tu computadora

He descubierto que es un poco difícil comenzar con Apache Spark (esto se enfocará en PySpark) en una máquina local para la mayoría de las personas. ¡Con este sencillo tutorial llegarás ahí muy rápido!

https://www.mytectra.com/apache-spark-and-scala-training.html

Asumiré que sabes lo que es Apache Spark, y también lo que es PySpark, pero si tienes preguntas, ¡no te moleste preguntarme! Oh, puedes consultar una introducción rápida que hice hace un tiempo aquí .

El símbolo $ significará ejecutar en el shell (pero no copies el símbolo).

Ejecutando PySpark en Jupyter

  1. Instalar Jupyter
$ pip install jupyter

2. Instalar PySpark

Asegúrate de tener instalado Java 8 o superior en tu computadora. Por supuesto, también necesitarás Python (recomiendo> Python 3.5 de Anaconda ).

Ahora visita la página de descargas de Spark. Selecciona la última versión de Spark, un paquete precompilado para Hadoop y descárgalo directamente.

Si quieres compatibilidad con Hive o cosas más sofisticadas, tendrás que construir tu distribución de Spark por tu cuenta -> Build Spark .

Descomprímelo y muévelo a la carpeta / opt:

$ tar -xzf spark-2.3.0-bin-hadoop2.7.tgz 
$ mv spark-2.3.0-bin-hadoop2.7 /opt/spark-2.3.0

Crea un enlace simbólico (esto te permitirá tener múltiples versiones de Spark):

$ ln -s /opt/spark-2.3.0 /opt/spark

Finalmente, dile a tu bash (o zsh, etc.) dónde encontrar Spark. Para hacerlo, configura tus variables $ PATH agregando las siguientes líneas en tu archivo ~/.bashrc (o ~/.zshrc):

export SPARK_HOME = /opt/spark 
export PATH = $ SPARK_HOME/bin:$PATH

Ahora, para ejecutar PySpark en Jupyter, deberás actualizar las variables de entorno del controlador PySpark. Simplemente agrega estas líneas a tu archivo ~ / .bashrc (o ~ / .zshrc):

export PYSPARK_DRIVER_PYTHON=jupyter 
export jupyter PYSPARK_DRIVER_PYTHON_OPTS ='notebook'

Reinicia (o haz source) en tu terminal e inicia PySpark:

$ pyspark

Ahora, este comando debería iniciar un Jupyter Notebook en tu navegador web. Cree un nuevo cuaderno haciendo clic en ‘New’ > ‘Notebooks Python [default]’. Y voilà, tienes un SparkContext y SqlContext (o simplemente SparkSession para Spark> 2.x) en tu computadora y puedes ejecutar PySpark en sus cuadernos (ejecútese algunos ejemplos para probar su entorno).

Ejecutando PySpark en tu IDE favorito

A veces necesitas un IDE completo para crear un código más complejo, y PySpark no está en sys.path de forma predeterminada, pero eso no significa que no se pueda usar como una biblioteca normal. Puedes abordar esto agregando PySpark a sys.path en tiempo de ejecución. El paquete findspark lo hace por ti.

Para instalar findpark simplemente escribe:

$ pip install findspark

Y luego en tu IDE (yo uso PyCharm) para inicializar PySpark, solo llama:

import findspark 
findspark.init()
import pyspark 
sc = pyspark.SparkContext(appName = "myAppName")

Y eso es. ¿Bastante simple no? Aquí hay un ejemplo completo de una aplicación independiente para probar PySpark localmente (usando el conf explicado anteriormente):

Si tiene algo que agregar o solo preguntas, pregúnteles e intentaré ayudarlo.


Edición debido a contribuciones :) — — — →>

Jupyter Notebook Python, Scala, R, Spark, Mesos Stack

Docker es como una “máquina virtual” ligera (Docker ofrece técnicamente “imágenes” y “contenedores” no máquinas virtuales), como si tuvieras un segundo equipo entero con su propio sistema operativo y los archivos que viven dentro de la máquina real. Puede iniciar sesión en esta máquina desde su computadora real y usarla como si pudieras iniciar sesión en otra computadora remota a través de ssh.

Simplemente dirígete allí y sigue los pasos para tener una versión completa “en contenedor” de Spark (2.3 con Hadoop 2.7)

Uso Básico

El siguiente comando inicia un contenedor con el servidor Notebook escuchando conexiones HTTP en el puerto 8888 con un token de autenticación generado aleatoriamente configurado.

$ docker run -it --rm -p 8888:8888 jupyter/pyspark-notebook

Instalación de Pip

Este paquete es actualmente experimental y puede cambiar en versiones futuras (aunque haremos nuestro mejor esfuerzo para mantener la compatibilidad).

El paquete de Python para Spark no está destinado a reemplazar todos los demás casos de uso. Esta versión empaquetada de Python de Spark es adecuada para interactuar con un clúster existente (ya sea Spark independiente, YARN o Mesos), pero no contiene las herramientas necesarias para configurar su propio clúster Spark independiente.

Para instalarlo solo ejecuta:

$ pip install pyspark