Ambiente Spark em R com Distribuição Linux (Ubuntu 20.04.3)

Luiz Paulo Tavares Gonçalves
4 min readFeb 10, 2022

I — Introdução

Primeiro texto do ano aqui no blog. Sim! O último texto, no final de dezembro, foi no Rpubs[1]. Bem, o primeiro texto do ano não pretende ser teórico ou com aplicabilidade em estatística ou Machine Learning com linguagem R, mas, sim, indicar as etapas para criar um ambiente com Spark no R. Há dezenas de contribuições no submundo da internet fazendo o mesmíssimo processo, porém em Windows. Raro são os casos com distribuição Linux. Bem, de fato, não há grandes discrepâncias entre os processos, porém resolvi escrever esse roteiro de forma sintética do processo até a conexão usando Ubuntu (20.04.3 LTS). E, assim, rompe o hiato aqui no Medium. Na verdade, o principal motivo é apenas esse!

II — Pré-requisitos

Sim, já pode abrir o terminar com Ctrl-Alt-T. Antes de prosseguir, como de praxe, aplica um update e upgrade. Caso não saiba a versão Ubuntu instalada na sua máquina, pode usar a terceira linha de comanda a seguir:

Feito isso, vamos ao pré requisito: Java. É bem provável que tenha alguma versão do Java instalado; de qualquer modo, siga o comando para saber sua versão (a primeira linha pode ser codificada no próprio RStudio, IDE padrão do R. Enquanto a segunda, pode ser codificada no terminal; a qual pode ser substituída porjava -version)

Bem, agora, vamos a versão do Java. Guarde esse trecho na memória:

A partir do Spark 2.1, o Java 8 é necessário; no entanto, as versões anteriores do Spark oferecem suporte ao Java 7. Independentemente disso, recomendamos a instalação do Java Runtime Engine 8 ou JRE 8 para abreviar. Para leitores avançados que já estão usando o Java Development Kit, JDK abreviado. Observe que o JDK 9+ não é compatível no momento, portanto, você precisará fazer o downgrade para o JDK 8 desinstalando o JDK 9+ ou configurando JAVA_HOMEapropriadamente [2]

Percebe-se que a versão do Spark que escolher é dependente do Java em uso. Aqui, do alto da minha ignorância, vou escolher o Spark 3.1.2 (Hadoop 3.2) acreditando fielmente e sem qualquer evidência empírica ser a versão “mais estável”. Assim, dependente de Java 8. Na minha máquina encontra-se assim:

Caso, caro leitor ou leitora, não tenha qualquer das versão listadas anteriormente que seja compatível com o Spark 3.1.2 pode usar a Ubuntu Software é fazer o download:

Eu recomendo fortemente essa opção. Caso queira fazer o processo por linha de comando [3].

III — Vamos ao RStudio: conexão com Spark

Daqui em diante é o básico de linguagem R. Continuando, instale as bibliotecas sparklyr e dplyr e, consequentemente, library em ambas:

Em sequência, finalmente, podemos instalar a versão do Spark selecionada. Da linha 3:6 é simplesmente para visualizar as versão disponíveis e, finalmente, a linha 8 para instalação:

Caso o processo de instalação tenha ocorrido sem falhas, aplicando a codificação a seguir retorna a versão instalada:

Retornando Spark “3.1.2” e Hadoop “3.2”

Para fazer a conexão vou usar o clássico dataset iris — o qual é integrado na linguagem R. Esteja a vontade para usar dados reais com maior volume, aqui é apenas uma opção para facilitar a reprodução do código para os leitores. O outro ponto para facilitar a reprodução da codificação: utilizarei localmente (master = “local”). A seguir, passo o dataset iris para um dataframe atribuindo em data.base (linha 1). Na linha 3 é feito a conexão e, na linha 4, a cópia para o ambiente.

A quinta linha é simplesmente o print das 10 primeiras linhas:

Basicamente é isso. O básico do básico! Conexão feita, objetivo concluído.

Off — Depois do Fim

Para não deixar meu texto sem imagem de capa, vou elaborar um plote a seguir entre a relações das observações com as variáveis do dataset iris para usar como capa. Por hoje é isso, bebam água!

--

--

Luiz Paulo Tavares Gonçalves

Graduando em Economia (UEG) & Big Data e Inteligência Artificial (PUC-GO)