Pipeline de orquestração que automatiza extração, validação e carga de registros entre dois bancos PostgreSQL — agendado diariamente, monitorado e 100% reproduzível em qualquer máquina.
Em um cenário de estudo prático de orquestração de dados, precisava construir um pipeline ETL que extraísse a tabela customers de um banco PostgreSQL (source_db), armazenasse localmente em CSV e carregasse os dados em outro banco PostgreSQL (target_db).
O desafio era garantir que o processo fosse automatizado, agendado e monitorado, utilizando Apache Airflow e Docker. Além disso, era necessário tratar problemas reais de rede entre containers, compatibilidade de versões e persistência de arquivos temporários.
O objetivo era desenvolver uma DAG no Apache Airflow com quatro tarefas encadeadas:
O pipeline roda dentro de containers Docker com os bancos em redes isoladas. O código foi versionado, documentado e é completamente reproduzível por qualquer pessoa que clone o repositório.
O uso de Connections do Airflow para gestão segura de credenciais foi implementado como boa prática de segurança — sem senhas hardcoded no código.
Pipeline ETL funcional e agendado diariamente, sem intervenção manual. Migração bem-sucedida de 91 registros da tabela customers do source_db para o target_db, com validação automática garantindo 100% de correspondência entre CSV e destino.
Orquestração com DAGs, operadores e sensores do Airflow. Comunicação entre containers Docker em redes personalizadas. Tratamento de problemas reais de ambiente: credenciais, caminhos de arquivo e compatibilidade de versões. Documentação seguindo o método STAR.