Ingestão de dados (Airflow) — visão geral
Toda a atualização do acervo geoespacial é orquestrada por uma frota de DAGs do Apache Airflow. As DAGs se dividem em três famílias de trabalho.
As três famílias de DAGs
1. Ingestão de bases
Baixam, normalizam e carregam bases oficiais em tabelas PostGIS. Exemplos: CAR (SICAR), PRODES/DETER (INPE), focos de fogo (FIRMS, BDQueimadas, GOES-16), assentamentos e parcelas (INCRA/SIGEF/SNCI), unidades de conservação (ICMBio), terras indígenas (FUNAI), sítios arqueológicos (IPHAN), biomas e limites (IBGE), alertas MapBiomas, ZARC (Embrapa).
- Tabelas de grande volume (alertas de desmatamento, focos de fogo) são particionadas por tempo (por ano ou por mês).
- Cada ingestão faz deduplicação e enriquecimento geoespacial (município, estado, bioma) quando aplicável.
2. Checks de compliance
Executam as verificações espaciais e documentais que alimentam o scoring de compliance e são consolidadas por um orquestrador de compliance.
3. RPA de certidões
Robôs que emitem certidões sob demanda (CNDT, CRF/FGTS, trabalho escravo, junta comercial, registro civil, demonstrativo do CAR). Rodam apenas quando acionados, pois cada execução tem custo.
Padrões de ingestão
- Agendamento: DAGs de ingestão usam expressões cron; DAGs de certidão usam disparo manual (sem agenda).
- Idempotência: a carga usa upsert por ID único (ou hash quando a fonte não tem ID estável), então reprocessar não duplica.
- Cobertura por partição: as consultas de monitoramento leem partições recentes, o que mantém os cruzamentos rápidos mesmo com histórico longo.
Casos de referência
Dois pipelines documentados em detalhe ilustram os padrões acima:
- Alertas de desmatamento — DETER (WFS) + MapBiomas Alerta (GraphQL) → interseção com locais monitorados → digest por e-mail.
- Focos de incêndio — FIRMS + BDQueimadas (+ GOES-16 na Fase 2) → tabela única particionada por mês → tiles + alertas.
Ambos estão descritos em Desmatamento e fogo. As fontes individuais estão catalogadas em Fontes de dados.