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.csv
será 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! 🚀