Sitemap

Apache Zeppelin

3 min readMay 28, 2024

--

Introdução

O Apache Zeppelin é uma ferramenta de notebooks baseada na web que permite a execução interativa de código em diversas linguagens de programação, visualização de dados e compartilhamento de insights. Ele é amplamente utilizado por cientistas de dados, analistas e engenheiros de dados para análise de dados, desenvolvimento de machine learning e relatórios interativos.

O Zeppelin suporta uma variedade de interpreters, incluindo Apache Spark, Python, R, SQL, Scala, e muitos outros. Esta flexibilidade o torna uma escolha popular para ambientes de análise de dados complexos.

Instalação

Antes de começar, é necessário ter o Java Development Kit (JDK) instalado. O Zeppelin requer pelo menos o JDK 8.

Download do Apache Zeppelin: Baixe a versão mais recente do Apache Zeppelin do site oficial: Apache Zeppelin Downloads.

Descompactar o arquivo:

tar -xvf zeppelin-0.11.1-bin-all.tgz 
cd zeppelin-0.11.1-bin-all

Iniciar o Zeppelin:

bin/zeppelin-daemon.sh start
  • Após iniciar, o Zeppelin estará disponível no navegador em http://localhost:8080.
Press enter or click to view image in full size

Exemplo Prático: Análise de Dados com Apache Zeppelin e Apache Spark

Neste exemplo, vamos usar o Apache Spark no Zeppelin para realizar uma análise simples de um conjunto de dados.

Passo 1: Configuração do Interpreter

Abra o Zeppelin em http://localhost:8080.

Get Hugo Habbema’s stories in your inbox

Join Medium for free to get updates from this writer.

Navegue até a seção “Interpreters”.

Press enter or click to view image in full size

Configure o interpreter do Spark, verificando se ele está habilitado e configurado corretamente.

Press enter or click to view image in full size

Passo 2: Carregando o Conjunto de Dados

Vamos usar um conjunto de dados CSV para este exemplo. Suponha que temos um arquivo chamado sales_data.csv com o seguinte conteúdo:

Date,Product,Sales
2024-01-01,ProductA,100
2024-01-02,ProductB,150
2024-01-03,ProductA,200
2024-01-04,ProductC,250

Carregue este conjunto de dados no Zeppelin usando o código abaixo:

# Importando bibliotecas necessárias
from pyspark.sql import SparkSession

# Criando Spark Session
spark = SparkSession.builder.appName("Sales Analysis").getOrCreate()

# Carregando o CSV em um DataFrame
sales_df = spark.read.option("header", "true").csv("sales_data.csv")

# Exibindo o DataFrame
sales_df.show()

Passo 3: Análise de Dados

Vamos realizar algumas operações básicas para analisar as vendas por produto.

# Importando bibliotecas necessárias
from pyspark.sql import SparkSession

# Criando Spark Session
spark = SparkSession.builder.appName("Sales Analysis").getOrCreate()

# Carregando o CSV em um DataFrame
sales_df = spark.read.option("header", "true").csv("sales_data.csv")

# Agrupando por produto e somando as vendas
sales_by_product = sales_df.groupBy("Product").sum("Sales")

# Exibindo o resultado
sales_by_product.show()

# Encerrando a Spark Session
spark.stop()

Passo 4: Visualização de Dados

O Zeppelin permite criar gráficos de forma interativa. Vamos visualizar as vendas totais por produto usando um gráfico de barras.

  1. Após executar o código acima, clique no ícone de gráfico (gráfico de barras).
  2. Configure o gráfico selecionando as colunas Product e sum(Sales).
  3. Escolha o tipo de gráfico desejado, como “bar chart” (gráfico de barras).

Passo 5: Compartilhamento de Insights

Uma das funcionalidades poderosas do Zeppelin é a capacidade de compartilhar notebooks. Você pode exportar o notebook como JSON ou compartilhar o link diretamente com colegas.

Conclusão

O Apache Zeppelin é uma ferramenta poderosa e versátil para análise de dados interativa. Com suporte a diversos interpreters, como Apache Spark, ele permite aos usuários explorar, analisar e visualizar dados de maneira eficiente. Neste exemplo, demonstramos como carregar dados, realizar operações básicas e criar visualizações interativas. O Zeppelin é uma excelente escolha para quem busca uma plataforma colaborativa e integrada para análise de dados.

Para mais detalhes e recursos avançados, consulte a documentação oficial do Apache Zeppelin.

Até a próxima!

--

--