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_venda | produto | region | valor_venda |
|---|---|---|---|
| 2023-01-01 | Camiseta | Sul | 150.00 |
| 2023-01-02 | Calça | Norte | 200.00 |
| 2023-01-03 | Camiseta | Sul | 120.00 |
| 2023-01-04 | Camiseta | Sul | 180.00 |
| 2023-01-05 | Calça | Norte | 250.00 |
🛠️ Passo 1: Extração (Extract)
Objetivo: Carregar os dados brutos do arquivo.
Como fazer:
- Use um script em Python para ler o arquivo CSV.
- 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.csvserá criado com os dados agrupados.
📊 Resultado Final
Após o processo ETL, você terá um arquivo com os dados organizados:
| produto | valor_venda |
|---|---|
| Camiseta | 450.00 |
| Calça | 450.00 |
💡 Dicas
- Use ferramentas simples: Python (pandas), SQL (MySQL, PostgreSQL) ou Excel.
- Teste cada etapa: Verifique se os dados estão corretos antes de passar para a próxima.
- Seja organizado: Salve os dados em arquivos ou tabelas para facilitar a análise posterior.
- 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:
- Como extrair dados de um arquivo CSV.
- Como filtrar e agrupar dados para análise.
- Como salvar os resultados em um novo arquivo.
Agora é hora de testar o exemplo e avançar para soluções mais complexas! 🚀
