Apache Zeppelin com spark

Notebook Web que permite análises de dados interactivas e documentos colaborativos com SQL, Scala, Python, R.

Objetivo

Subir em docker um processador spark e submeter jobs para processamento de um arquivo de entrada CSV.

Instalação por Docker

Toda a configuração é feita utilizando o docker compose.

  • Spark

Dois containeres são configurados, um para gerenciador e um para nodo de processamento.
A spark-master tem no seu environment como - SPARK_MODE=master, enquando que a spark-worker tem como environment a configuração - SPARK_MODE=worker e - SPARK_MASTER_URL=spark://spark-master:7077

  • zeppelin

Para o conteiner do zeppelin é configurado a versão do spark e a home dentro do container para que ele possa encontrar os binários como spark-submit: - ZEPPELIN_SPARK_VERSION=3.2.0 - ZEPPELIN_SPARK_HOME=/opt/bitnami/spark.

OBS: Apenas as versões 0.?.0 conseguiram se conectar ao spark, ou seja, versões 0.9.0, 0.10.0 ou 0.11.0. Versões como 0.10.1, 0.11.1 ou 0.11.2 tiveram erro ao encontrar os binários de submit do spark

Para subir os containers utilize docker compose up -d

Acesse o localhost:9090 e abra na parte de tutoriais Spark Tutorial. Dentro haverá notebooks pré-configurados.
Acesse o notebook Spark SQL (Scala) e tente executar as células, caso apareça PENDING significa que os jobs pro spark estão sendo submetidos. Caso haja erro aparecerá ERRO e o log dos error logo abaixo da célula.