Instalando o Apache Spark e utilizando o Spark Shell

Olá pessoal, hoje iremos conhecer e instalar a ferramenta para processamento de dados Apache Spark, esta é uma ferramenta que atualmente vem sendo muito utilizada em ambientes de manipulação de grande quantidade de dados.

O Que é BigData

BigData é com certeza uma das palavras mais faladas em tecnologia nos últimos anos, e com isso temos diferentes significados espalhados pelas mais variadas fontes, mas basicamente BigData pode ser resumido em:
  • Volume: Grande quantidade de dados;
  • Variedade: Dados variados, sendo de tipos e fontes diferentes;
  • Velocidade: Dados crescendo/aumentando em alta velocidade.
Quando manipulamos uma grande quantidade de dados, começam a surgir desafios do mesmo tamanho, tais como performancecapacidadearmazenamentoescalabilidade, entre outros, e para esses novos desafios foram surgindo várias ferramentas, entre elas: Hadoop, Spark, NoSQL, Hive, entre outras.

Conhecendo o Spark

Como falamos anteriormente o Apache Spark foi uma dessas ferramentas que surgiram para resolver desafios enfrentados em cenários de BigData e Análise de Dados, a sua finalidade é realizar o processamento de uma grande quantidade de dados de forma escalável e com alta performance.

O site oficial da ferramenta é o https://spark.apache.org/

O Spark foi desenvolvido utilizando a linguagem Scala,  e pode ser utilizado com as linguagens ScalaPython ou Java, no site de exemplos temos uma variedade de exemplos de códigos em ambas as linguagens mencionadas, o intuito de poder utilizar diferentes linguagens, é que estas são as mais utilizadas em ambientes de grande quantidade de dados, além de fornecer opções para o desenvolvedor de acordo com seu skill.

Download do Spark

O primeiro passo é acessar https://spark.apache.org/downloads.html aqui encontramos todos os detalhes para o correto funcionamento da ferramenta, atualmente o Spark encontra-se na versão 2.3.0.

Site de download oficial do Apache Spark.

Um ponto importante aqui é que devemos ter o Java instalado na máquina, de acordo como site oficial, a versão da JVM recomendada é a 8.

O processo de instalação é o mesmo independente do Sistema Operacional, seja ele Linux, Windows ou Mac, basta efetuar o download e realizar a descompactação com um utilitário de preferência.

Como foi dito, após efetuar o download, basta descompactar em um diretório de sua preferência e teremos a seguinte estrutura:

Estrutura do Apache Spark após descompactação.

 Um ponto importante é a configuração da variável de ambiente chamada SPARK_HOME com o valor do diretório de instalação do Spark, isso é importante porque alguns utilitários do Spark utilizam esta variável como base para execução.


Conhecendo o Spark Shell

O Spark disponibiliza diversos shells, com eles podemos escrever códigos diretamente na linha de comando e acompanhar a execução, estes consoles estão disponíveis para Scala Python.

Como exemplo, vamos executar o console padrão que é o console chamado spark-shell onde você pode escrever códigos em Scala, o executável fica dentro do diretório bin/spark-shell.

Chamada do utilitário spark-shell

Ao executar teremos a seguinte resultado no terminal:

Console para execução de código Scala.

Neste console podemos utilizar todas as funcionalidades do Spark utilizando a linguagem Scala, geralmente este console é utilizado mais a critério de testes, porque para um grande projeto é recomendado o uso de alguma IDE ou ambiente que possua ferramentas de debug e testes.

O console possui alguns objetos implícitos disponíveis para uso, um deles é o principal, o SparkContext, este é o contexto responsável pela criação dos RDD que é a estrutura que utilizamos para manipular os dados dentro do Spark, para ver o SparkContext basta digitar no terminal sc:

Exibindo o SparkContext no console.

Após estes passos já temos o Apache Spark instalado e configurado.

Até a próxima.


Referências

Comentários

Popular Posts

Criando arquivos de log com Log4J

Monitorando o Tomcat com Java VisualVM

AngularJS - Formatando Datas com o Filter Date

Injeção de dependências em Java EE usando @Inject, @EJB e @Resource ?

Gerenciamento de Transações com EJB - Parte 2

Configurando o arquivo application.properties do SpringBoot

JBoss AS 7 - Instalação e Configuração

Lendo e Manipulando arquivos CSV com Java

Métodos Utilitários da Classe String

Criando uma Aplicação com Spring Boot e MongoDB