Material del Workshopde Big Data
- Levantar el ambiente
- Introducción a Scala
- Batch Processing (Scala)
- Structured Streaming Processing (Scala)
- Machine Learning (Scala)
- Jupyter Notebook (Python / pySpark)
- Lista de Jupyter Notebook
El workshop simula una instalación de producción utilizando container de Docker. docker-compose.yml contiene las definiciones y configuraciones para esos servicios y sus respectivas UIs:
- Apache Spark: Spark Master UI | Job Progress
- Apache Kafka:
- Postgres:
- Superset: Nuestro Dashboard
Los puertos de acceso a cada servicio quedaron los defaults. Ej: spark master:7077, postgres: 5432
Instalar el ambiente siguiendo las instrucciones acá.
Correr el script que levanta el ambiente Usage: control-env.sh (start|stop|cleanup)
:
./control-env.sh start
**IMPORTANTE** el script `control-env.sh cleanup` borra cualquier dado que haya sido procesado anteriormente.
# Access Spark-Master and run spark-shell
docker exec -it master bash
root@588acf96a879:/app# spark-shell
Probar:
val file = sc.textFile("/dataset/yahoo-symbols-201709.csv")
file.count
file.take(10).foreach(println)
Acceder al Spark Master: http://localhost:8080 y SPARK-UI: http://localhost:4040.
Si los jobs mueren (KILLED
) y no se completan puede ser debido a la memória disponible para Docker, aumente la memoria > 8Gb al proceso de Docker:
- Juan Pampliega (MuttData): expandir y actualizar el ejemplo de Spark Streaming
- Pedro Ferrari (MuttData): crear el notebook de pySpark con Machine Learning