ETL/ELT Moderno com Apache Airflow e GitHub Actions: Guia Completo

Introdução à Arquitetura Moderna de Dados

image.png

Diferenças Fundamentais ETL vs ELT

Exemplo Matemático de Custo Computacional:

$C_{ETL} = \sum_{i=1}^{n} (E_i + T_i) + L \\ C_{ELT} = E + L + \sum_{i=1}^{n} T_i \times \frac{1}{c}$

Onde $c$ = capacidade paralela do sistema alvo14

Repositórios de referência para o projeto

https://github.com/afonsolelis/etl_completa_airflow

https://github.com/afonsolelis/etl_dataops

Componentes do Apache Airflow

  1. Scheduler: Orquestrador central com algoritmo Breadth-First Search para execução de DAGs11
  2. Executor: Gerencia workers (Local, Celery, Kubernetes)12
  3. Webserver: Interface com visualização de Gantt Chart e logs3
  4. Metadata Database: PostgreSQL/MySQL para armazenar estados e histórico4

Construção de Pipeline Completo

Estrutura do Projeto

etl-moderno/
├── dags/
│   └── processamento_dados.py
├── plugins/
│   └── custom_operators.py
├── scripts/
│   ├── data_validation.py
│   └── error_handler.py
├── requirements.txt
├── docker-compose.yml
└── .github/
    └── workflows/
        └── airflow_deploy.yml