Idempotência
Controlar snapshots e carga para que novas execuções considerem o trabalho já concluído.
Engenharia de dados · Código público
Um pipeline de dados públicos com processamento por etapas, reuso de arquivos e carga idempotente.
01 / Contexto
Sincronizar os arquivos públicos de CNPJ envolve download, extração, diferenças de formato e carga no banco. Reiniciar tudo a cada falha desperdiça trabalho já realizado.
02 / Implementação
Pipeline Python que descobre o snapshot, baixa arquivos, extrai, normaliza e carrega os dados no PostgreSQL. O controle de progresso permite reutilizar artefatos e acompanhar o estado de cada arquivo.
03 / Conexões
Crawler, downloader, extractor e processor têm responsabilidades separadas. A camada de persistência utiliza COPY e upsert; o controle de execução e arquivos sustenta o reprocessamento.
Snapshot de dados públicos
Download e extração
CSV / Parquet por etapas
COPY, upsert e progresso
Controlar snapshots e carga para que novas execuções considerem o trabalho já concluído.
Processar dados em partes e configurar concorrência por etapa do pipeline.
Registrar progresso e reutilizar artefatos disponíveis sem exigir um reinício completo.
04 / Entrega
Um pipeline inspecionável, com configuração centralizada, módulos separados e testes para normalização e operações de dados.
README e implementação do pipeline consultados no repositório público. Não foram executados benchmarks ou cargas de produção nesta análise.