Spark e sua Instalação em uma Máquina Local
por Helmut Kennedy e Romildo Oliveira

alt_text

O Apache Spark é uma ferramenta open-source que auxilia o usuário a realizar seus processos de modo paralelo e distribuído. Em outras palavras, com o Apache Spark você consegue aproveitar os múltiplos núcleos de um processador para analisar os dados mais rapidamente e utilizar múltiplos computadores em sincronia para executar a mesma tarefa. Originalmente, o Apache Spark foi desenvolvido na Universidade da Califórnia e posteriormente repassado para a Apache Software Foundation.

O Spark é amplamente utilizado para processar grandes volumes de dados. O seu diferencial em relação a outras ferramentas que realizam procedimentos similares, como o Hadoop, é que ele armazena os dados temporários na memória e não em disco. Essa característica faz com que o Spark tenha um ótimo desempenho, chegando a processar dados 100 vezes mais rápido que o Hadoop.

O Apache Spark foi desenvolvido na linguagem Scala, uma linguagem conhecida pela sua alta performance. Os projetos desenvolvidos com o Spark são escritos nesta linguagem, mas ele também oferece APIs (Application Programming Interface) de alto nível para o usuário poder desenvolver seus projetos em outras linguagens de programação, como Python, R e Java, ou até mesmo realizar consultas em banco de dados utilizando a linguagem SQL.

O Spark também fornece outros APIs que facilitam o uso do Spark para diferentes finalidades. Dentre as aplicações mais utilizadas estão a aplicação de métodos de aprendizagem de máquina (MLlib), o processamento de dados em fluxo contínuo (Spark Streaming) e o processamento de grafos (GraphX).

Alguns podem pensar que o Spark é aplicável apenas em grandes servidores computacionais. De fato, o seu uso em grandes servidores é quase imprescindível para trabalhar com o Big Data, mas para aplicar o Spark e ver a melhora no desempenho de alguns processos bastaria apenas um computador que tenha mais de um núcleo de processamento. Portanto, na prática, qualquer notebook comercializado atualmente pode desfrutar todos estes pacotes oferecidos pelo Spark.

Ficou interessado no Apache Spark? Comece a usá-lo tentando instalar ele no seu computador. Acompanhe esta matéria que te explicará como instalar o Apache Spark na máquina de vocês, seja no Windows ou no sistema Unix (Linux ou MacOS). Nas próximas edições, lançaremos outros tutoriais sobre o Apache Spark e sua aplicação para diferentes objetivos.

Observação: Este tutorial foi feito utilizando como base o Spark 3.1.2. e o Hadoop 3.2. Versões mais antigas ou recentes podem necessitar alguma adaptação.

Instalando no Windows:

1 - Instalação do Java

Para usar o Spark é necessário que o Java esteja instalado em seu computador, para isso acesse esse link, baixe o instalador do Java, abra-o e aperte em instalar.

2 - Criação de pastas

Procure o PowerShell na barra de pesquisa de programas do Windows (ao lado do menu iniciar). Execute o PowerShell como administrador. Quando o programa abrir digite o seguinte comando:

mkdir C:\Spark,C:\hadoop\bin

Ele é responsável pela criação das pastas necessárias para armazenar o Spark e o Hadoop em seu computador na raiz do disco C.

3 - Download do Hadoop e do Spark

Acesse este link, entre na pasta com a versão mais recente e por último copie o link do arquivo com maior versão que possuir um nome semelhante a este:

spark-[VERSÃO]-bin-hadoop[VERSÃO].tgz

Execute o seguinte comando, substituindo o termo destacado pelo link copiado:

Invoke-WebRequest -Uri [URL-COPIADA] -OutFile "C:\Spark\spark.tgz"

Ele é responsável por baixar o Spark e o Hadoop.

Exemplo:

Invoke-WebRequest -Uri https://downloads.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz -OutFile "C:\Spark\spark.tgz"

4 - Extração de arquivos

Nesta etapa é preciso que o programa WinRAR (disponível aqui) esteja instalado no seu computador. Se não estiver, instale-o. Após isso execute o seguinte comando:

& 'C:\Program Files\WinRAR\WinRAR.exe' x "C:\Spark\spark.tgz" "C:\Spark\"

Ele é responsável por descompactar o arquivo baixado.

Execute o seguinte comando:

Get-ChildItem C:\Spark -directory | Rename-Item -NewName spark

Ele é responsável por renomear a pasta criada após a extração.

5 - Informando ao computador onde está o Spark e Hadoop

Para que seu computador saiba da existência do Spark utilize os seguintes comandos:

[Environment]::SetEnvironmentVariable("SPARK_HOME", "C:\Spark\spark", "User")

[Environment]::SetEnvironmentVariable("HADOOP_HOME", "C:\hadoop", "User")

$USER_PATH = [Environment]::GetEnvironmentVariable("Path", "User")

[Environment]::SetEnvironmentVariable("Path",$USER_PATH+ "C:\Spark\spark\bin;C:\hadoop\bin;", "User")

6 - Finalizando a instalação do Hadoop

Acesse este link e procure a pasta com a versão do seu Hadoop. Por exemplo, se você baixou o arquivo spark-3.1.2-bin-hadoop3.2.tgz, vá na pasta hadoop-3.2.0. Baixe os arquivos winutils.exe e hadoop.dll. Mova esses arquivos para a pasta C:\hadoop\bin.

7 - Instalando o Python

Para testar o Spark utilizaremos a linguagem de programação do Python. Se você tem dúvidas se o Python está instalado no seu computador, vá para a linha de comando execute o comando:

python -V

Se aparecer uma mensagem mostrando a versão do Python como a seguir, significa que o Python já está instalado no seu computador e que você pode ignorar esta etapa.

Python 3.9.10

Se você não tem Python instalado no seu computador, baixe o Python neste link, abra instalador, selecione a opção destacada na imagem abaixo e prossiga com a instalação.

alt_text

8 - Verificando a instalação do Apache Spark

Feche o PowerShell e abra-o novamente. Em seguida use o comando:

pyspark

Se uma janela semelhante a figura abaixo aparecer significa que tudo está funcionando corretamente.

alt_text

Instalando no Ubuntu

1 - Instalação do Java

Execute os seguintes comandos para instalar o Java 11, necessário para usar o Spark:

sudo apt install software-properties-common
sudo apt-get install openjdk-11-jdk

2 - Download do Hadoop e do Spark

Acesse este link, entre na pasta com a versão mais recente e por último copie o link do arquivo com maior versão que possuir um nome semelhante a este: spark-[VERSÃO]-bin-hadoop[VERSÃO].tgz

Execute o seguinte comando:

wget [URL-COPIADA] -O spark.tgz

Ele é responsável por baixar o Spark e o Hadoop.

Exemplo:

wget https://downloads.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz -O spark.tgz

Após baixado, você encontrará na pasta o arquivo spark.tgz. Execute o seguinte comando para descompactar o arquivo:

tar xzf spark.tgz

Depois deste procedimento, vocês encontrarão uma pasta com o nome que segue este padrão: spark-[VERSÃO]-bin-hadoop[VERSÃO]. Exemplo: spark-3.2.0-bin-hadoop3.2

3 - Informando ao computador onde está o Java, Spark e Hadoop

Os comandos a seguir são responsáveis em informar o seu computador onde está o Java.

printf "\nexport JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> .bashrc

Agora precisamos informar onde estão o Spark e o Hadoop. Para isso, obtenha o endereço completo do local da pasta que foi extraída na etapa 2. Para isso, você pode entrar nessa pasta executar o comando pwd como a seguir:

cd spark-[VERSÃO]-bin-hadoop[VERSÃO]
pwd

Copie o endereço que foi imprimido na tela cole no comando abaixo:

printf "\nexport SPARK_HOME=/endereco/da/pasta/que/foi/criada/ao/extrair/o/arquivo" >> .bashrc

Exemplo:

printf "\nexport SPARK_HOME=/home/fulano/spark-3.2.0-bin-hadoop3.2" >> .bashrc

Depois, execute o seguinte comando:

printf "\nexport PATH="\$SPARK_HOME/bin:\$PATH"\n" >> .bashrc

Feche e abra o terminal novamente para que estas mudanças sejam aplicadas.

4 - Verificando a instalação

No terminal, use o seguinte comando

pyspark

Se uma janela semelhante a esta aparecer significa que tudo está funcionando corretamente.

alt_text

Conseguiram instalar o Spark na máquina de vocês? Tiverem alguma dificuldade para seguir os passos ou possuem sugestões para melhorar este tutorial? Não deixem de comentar abaixo! Nas próximas edições, lançaremos tutoriais que mostrarão alguns conceitos e aplicações do Spark. Até a próxima!

Você pode gostar de ler:

Referências

  1. https://spark.apache.org/docs/latest/
  2. https://github.com/cdarlint/winutils
  3. https://documentation.help/WinRAR/HELPCommandLineSyntax.htm
  4. https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.1
  5. https://docs.microsoft.com/pt-br/dotnet/api/system.environment.setenvironmentvariable?view=net-5.0
  6. https://docs.microsoft.com/pt-br/dotnet/api/system.environment.getenvironmentvariable?view=net-5.0
  7. https://data-flair.training/blogs/install-spark-ubuntu/