Skip to content
Latchkey

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.

Validating an ETL job in CI
steps:
  - run: pytest tests/transform     # test transform logic
  - run: python etl.py --source sample.csv --dry-run

Nota 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.

Guias relacionados