Pular para o conteúdo principal

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

Postagens mais visitadas deste blog

Utilizando LocalDate, LocalDateTime e LocalTime na Prática

Tudo bem pessoal, hoje iremos avaliar e analisar operações de manipulação de Datas envolvendo a JavaTime API introduzida no Java 8.

Exemplos da java.time API
Já se passaram alguns anos desde o lançamento do Java 8 e mesmo após este período, há empresas que desconhecem o poder da java.time API, esta foi uma nova API de datas introduzida no Java 8 visando resolver problemas que tínhamos com as velhas classes Date e Calendar.

Vamos mostrar vários exemplos práticos do uso da API:
Criação de objetos No exemplo abaixo, estamos criando os objetos para manipulação de datas, perceba que temos 3 tipos, sendo LocalDate para manipular datas, LocalDateTime para manipular data/hora e LocalTime para horas:
LocalDate localDate = LocalDate.now(); LocalDateTime localDateTime = LocalDateTime.now(); LocalTime localTime = LocalTime.now();
Utilizando formatação Aqui realizamos a operação de formatação, perceba que não foi necessário utilizar a classe SimpleDateFormat, que usaríamos em conjunto com D…

Lendo e Manipulando arquivos CSV com Java

Olá hoje veremos como realizar a leitura e manipulação de arquivos CSV com Java, mostrando que as novas versões da plataforma Java deixaram algumas tarefas simples de serem realizadas.

Exemplo de Arquivo Hoje em dia é comum ao realizar integrações ou carga de dados o uso de arquivos CSV, isto porque, este arquivo possui uma estrutura de fácil entendimento e simples de manipular na maioria das plataformas de desenvolvimento.

Para realizar a leitura dos dados vamos manipular um arquivo com as seguintes colunas: namecpfagephone address:

name;cpf;age;phone;address caio;123456789;20;1145223643;AvenidaPaulista vinicius;147852369;18;1125253625;AvenidaManoel sandra;963258741;30;1174587858;RuaTeixeira regina;125478522;40;1145254536;RuaFernando fernando;785245563;42;1145253669;RuaPereira augusto;456123014;50;1125363633;AvenidaPaulinia maria;456123789;10;1125455525;AvenidaNossaSenhora
Para representar os dados em objetos Java iremos utilizar a seguinte classe:

importlombok.AllArgsConstruc…

Versionamento de Banco Dados com Flyway

Olá pessoal, hoje iremos analisar e aprender como realizar o versionamento e gerenciamento das bases de dados relacionais utilizando o framework Flyway.

Versionamento de Banco Dados Ao trabalhar com desenvolvimento de sistemas é comum realizarmos o versionamento, isso porque uma aplicação pode necessitar de correções, novas funcionalidades e evoluções, onde para garantir a compatibilidade e cuidar do seu ciclo de vida, geramos versões onde é especificado quais itens estão presentes em cada release.
Vamos imaginar seguinte cenário: Sistema ERP1.0.0: Entrega dos módulos Financeiro e RH;1.1.0: Entrega do módulo Contas a Receber. Perceba que a ideia é controlar o que cada versão possui de diferente, e para controlar essas mudanças no lado da aplicação existem várias técnicas e ferramentas, mas e para controlar as mudanças no lado do Banco de dados ? 
Para isso podemos utilizar ferramentas de versionamento que ajudam a realizar este controle, a ferramenta que iremos utilizar é o Flyway.
Con…