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!