Instalando o Apache Spark

O Apache Spark é um framework bem completo e integrado de processamento distribuído de grandes volumes de dados (Big Data), e possui vários componentes interessantes, como a biblioteca MLlib (aprendizado de máquina), o GraphX (algoritmos em grafos), Spark SQL para processamento de dados e Spark Streaming para processamento de fluxos de dados (live data streams).

E o mais legal é que é bem fácil de instalar.

Pré-requisitos

Precisamos de 3 coisas: git, java e scala instalados.

O ubuntu e o macOS já vem com o git instalado. Verifique a versão rodando o comando:

$ git --version
> git version 2.5.4 (Apple Git-61)

Além disso, é preciso ter o JDK instalado. Verifique a instalação do java com o comando:

$ java -version
> java version "1.7.0_95"
 OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-0ubuntu0.14.04.1)
 OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

Se o java estiver instalado, deve aparecer a versão. Se não, instale o java via apt-get (no ubuntu):

$ sudo apt-get install default-jdk

no MacOS é só usar o homebrew para instalar o java:

$ brew update
$ brew tap caskroom/cask
$ brew install Caskroom/cask/java

Scala

Depois, precisamos baixar e instalar a linguagem Scala, que é a linguagem oficial do Spark (mas não é a única). A última versão é a 2.11.7:

No Ubuntu:

$ wget http://downloads.lightbend.com/scala/2.11.7/scala-2.11.7.tgz
$ sudo mkdir /usr/local/src/scala
$ sudo tar xvf scala-2.11.7.tgz -C /usr/local/src/scala/

Edite o arquivo de configuração do bash para que possa ser utilizada via terminal:

$ nano .bashrc

Adicione as seguintes linhas no final do arquivo:

export SCALA_HOME=/usr/local/src/scala/scala-2.11.7  
export PATH=$SCALA_HOME/bin:$PATH  

Reinicie o bash:

$ . .bashrc

No MacOS é só usar o homebrew (ufa!):

$ brew install scala 
$ export SCALA_HOME=/usr/local/bin/scala  
$ export PATH=$PATH:$SCALA_HOME/bin 

Agora é só verificar se está tudo funcionando:

$ scala -version
> Scala code runner version 2.11.7 -- Copyright 2002-2013, LAMP/EPFL

Instalando o Spark

Agora podemos baixar o Spark (1.6.0) e extrair os arquivos:

$ wget http://d3kbcqa49mib13.cloudfront.net/spark-1.6.0.tgz
$ tar xvf spark-1.6.0.tgz 

Precisamos fazer o build do Spark. Para isso, utilizamos o sbt (scala build tool). Também podemos usar o maven. Esse processo demora um tempo razoável, seja paciente. :)

$ cd spark-1.6.0
$ sbt/sbt clean assembly 

O sbt vai baixar várias dependências e compilar o projeto. Isto pode demorar mais de meia hora.

Rodando o Spark

Se tudo der certo, você poderá testar os programas de exemplo que vem junto com o Spark. Um deles calcula o valor aproximado de Pi:

./bin/run-example SparkPi

Ou utilizar o spark shell diretamente:

$ ./bin/spark-shell
scala> println("Olá, mundo!")  
> Olá, mundo!

Nos próximos posts, vou dar alguns exemplos práticos do uso do Spark.