ETL para Iniciantes: Transformando dados com Exemplo Prático 🚀

ETL para Iniciantes: Transformando dados com Exemplo Prático

Neste tutorial, abordaremos todo o passo a passo do ETL. Você pode ler nosso artigo de introdução ao ETL em https://seja.pro/etl-para-iniciantes-como-funciona-e-por-que-e-importante/

Começaremos com um exemplo de dados em CSV:

🛠️ Exemplo de Dados

Vamos usar um arquivo vendas.csv com 5 registros de vendas:

data_vendaprodutoregionvalor_venda
2023-01-01CamisetaSul150.00
2023-01-02CalçaNorte200.00
2023-01-03CamisetaSul120.00
2023-01-04CamisetaSul180.00
2023-01-05CalçaNorte250.00

🛠️ Passo 1: Extração (Extract)

Objetivo: Carregar os dados brutos do arquivo.

Como fazer:
  1. Use um script em Python para ler o arquivo CSV.
  2. Verifique se os dados estão corretos.
Código em Python (com pandas)
import pandas as pd

# 1. Carregar dados do arquivo CSV
df = pd.read_csv('vendas.csv')
print("Dados brutos:")
print(df)
Resultado esperado:
Dados brutos:
  data_venda produto region  valor_venda
0  2023-01-01  Camiseta    Sul       150.00
1  2023-01-02    Calça  Norte       200.00
2  2023-01-03  Camiseta    Sul       120.00
3  2023-01-04  Camiseta    Sul       180.00
4  2023-01-05    Calça  Norte       250.00
Explicação:
  • pd.read_csv() lê o arquivo CSV e converte-o em uma tabela (DataFrame).
  • print(df) mostra os dados para verificar se estão corretos.

🧹 Passo 2: Transformação (Transform)

Objetivo: Limpar e reorganizar os dados para que sejam úteis.

Exemplo 1: Filtrar vendas da região Sul
# 2. Filtrar dados da região Sul
df_sul = df[df['region'] == 'Sul']
print("\nVendas da região Sul:")
print(df_sul)
Resultado esperado:
Vendas da região Sul:
  data_venda produto region  valor_venda
0  2023-01-01  Camiseta    Sul       150.00
2  2023-01-03  Camiseta    Sul       120.00
3  2023-01-04  Camiseta    Sul       180.00
Explicação:
  • df['region'] == 'Sul' cria uma condição para filtrar apenas as vendas da região Sul.
  • df_sul é uma nova tabela com apenas esses dados.
Exemplo 2: Calcular total de vendas por produto
# 3. Agrupar por produto e somar valores
total_vendas = df.groupby('produto')['valor_venda'].sum().reset_index()
print("\nTotal de vendas por produto:")
print(total_vendas)
Resultado esperado:
Total de vendas por produto:
  produto  valor_venda
0  Camiseta       450.00
1    Calça       450.00
Explicação:
  • groupby('produto') agrupa os dados por produto.
  • sum() soma os valores de cada grupo.
  • reset_index() reorganiza os dados em uma tabela.

📦 Passo 3: Carregamento (Load)

Objetivo: Armazenar os dados transformados em um destino final (como um banco de dados).

Exemplo: Salvar em um arquivo CSV
# 4. Salvar dados em um novo arquivo CSV
total_vendas.to_csv('relatorio_vendas.csv', index=False)
print("\nArquivo 'relatorio_vendas.csv' criado com sucesso!")
Resultado:
  • Um arquivo chamado relatorio_vendas.csv será criado com os dados agrupados.

📊 Resultado Final

Após o processo ETL, você terá um arquivo com os dados organizados:

produtovalor_venda
Camiseta450.00
Calça450.00

💡 Dicas

  1. Use ferramentas simples: Python (pandas), SQL (MySQL, PostgreSQL) ou Excel.
  2. Teste cada etapa: Verifique se os dados estão corretos antes de passar para a próxima.
  3. Seja organizado: Salve os dados em arquivos ou tabelas para facilitar a análise posterior.
  4. Pratique com dados reais: Comece com pequenos conjuntos e aumente a complexidade aos poucos.

🔍 Conclusão

O ETL é essencial para transformar dados brutos em informações úteis.
Com esse exemplo, você aprendeu:

  1. Como extrair dados de um arquivo CSV.
  2. Como filtrar e agrupar dados para análise.
  3. Como salvar os resultados em um novo arquivo.

Agora é hora de testar o exemplo e avançar para soluções mais complexas! 🚀