O que é ETL? Extract, Transform, Load explicado
ETL significa Extract, Transform, Load: extrair dados de fontes, transformá-los no formato desejado e depois carregá-los em um sistema de destino.
ETL é o padrão clássico para mover dados de sistemas operacionais para sistemas analíticos. Por décadas foi a maneira padrão de popular um data warehouse: extrair das fontes, transformar os dados em uma etapa dedicada e carregar o resultado limpo no destino.
O que é ETL
O ETL é um processo de três etapas. Extract lê dados de fontes como bancos de dados, APIs ou arquivos. Transform limpa, junta e remodela os dados - filtrando linhas ruins, padronizando formatos, derivando colunas. Load escreve os dados finalizados no destino, geralmente um warehouse.
Por que transformar antes de carregar
No ETL clássico, a transformação acontece fora do warehouse, muitas vezes em um motor de processamento dedicado, antes de os dados serem carregados. Isso fazia sentido quando a computação do warehouse era cara e você queria que apenas dados limpos e modelados fossem armazenados. Isso também impõe um schema de antemão.
ETL versus ELT
A alternativa moderna, o ELT, primeiro carrega os dados brutos e depois os transforma dentro do warehouse, aproveitando a computação em nuvem barata e escalável. O ETL ainda é preferido quando os dados precisam ser limpos ou mascarados antes de poderem ser armazenados, por razões de conformidade ou de volume.
ETL no CI
Código de ETL é código: faça testes unitários das transformações contra fixtures e execute o job de ponta a ponta com dados de amostra antes de ele tocar a produção.
steps:
- run: pytest tests/transform # test transform logic
- run: python etl.py --source sample.csv --dry-runNota da Latchkey
Os jobs de teste de ETL puxam dados de amostra e podem subir um service container de banco de dados. Na Latchkey, fazer cache desses fixtures e dependências acelera as execuções, e o auto-retry cobre uma API de origem ou um banco de dados que apresente uma falha momentânea durante a extração.
Principais conclusões
- O ETL extrai dados de fontes, transforma-os fora do destino e depois carrega o resultado limpo.
- Transformar antes de carregar impõe um schema e se adéqua a casos em que os dados precisam ser limpos ou mascarados primeiro.
- O ELT é a alternativa moderna que carrega dados brutos e os transforma dentro do warehouse.