Contenedores docker de Spark basados en debian:buster, desarrollados originalmente por Gettyimages, esta versión está actualizada a Python 3.7 y Spark 3.1.2. Pensado para desplegar de forma local y sencilla.
Spark y PySpark son muy sensibles a las versiones de las librerías que se usan. Para que funcione adecuadamente, es necesario Python 3.7
, y la versión 3.1.2
de pyspark
.
Para crear un entorno de python rápidamente con conda:
conda create -y -n pyspark python=3.7
conda activate pyspark
pip install -r requirements.txt
Primero, instalar docker-compose, si no viene por defecto en tu instalación de docker:
sudo apt install docker-compose
Después, arrancar todos los servicios con:
docker-compose up
Para arrancar los servicios en background:
docker-compose up -d
Para pararlo todo, CTRL+C, o:
docker-compose down
Podemos ver la interfaz del nodo maestro de spark en http://localhost:8080.
Deberían aparecer tres workers con state ALIVE
.
Entramos en el contenedor con bash
:
docker exec -it docker-spark_master_1 /bin/bash
Una vez dentro, para lanzar un trabajo de ejemplo:
bin/run-example SparkPi 10
Mientras se completa, podremos ver en la interfaz web del nodo maestro la aplicación en curso. Cuando finalice, aparecerá en la lista de aplicaciones completadas.
En pyspark_example.py
se encuentra un ejemplo de cómo conectarse al cluster y crear un dataframe. Con el entorno de python 3.7
activado, ejecutar:
python pyspark_example.py
MIT