Rodando um app do spark localmente

February 13, 2015
spark big data

O Apache Spark é uma ferramenta fantástica para Data Science e Big Data. Além de ser muito mais rápido do que o Hadoop para tarefas que demandam computação intensiva e processamento de terabytes de dados, ele já vem com a MLlib, uma biblioteca específica para Machine Learning, e a GraphX para algoritmos em grafos.

Só que nem sempre você vai ter um cluster spark disponível para rodar o seu código durante o desenvolvimento. E debugar o seu código em um cluster remoto dá trabalho. Também não é possível chamar as funções do spark, pois não há um cluster rodando em sua máquina.

O jeito mais fácil é desligar o processamento distribuido, e rodar o seu programa localmente. Basta definir nas configurações de inicialização do app o master como local[1].

Em java, é assim:

SparkConf sparkConfiguration = new SparkConf()
							   .setMaster("local[1]")
							   .setAppName("SparkApp");
JavaSparkContext context = new JavaSparkContext(sparkConfiguration);

Se você executar o código, vai ver o output do processamento direto no console. Também dá para executar o código em modo debug!