3. Extração de Dados: Domínio Contrato¶
Objetivo¶
Estabelecer um processo de ingestão que preserve a fidelidade técnica dos dados legados, garantindo que a "matéria-prima" para a Medallion architecture seja rastreável e passível de reprocessamento (idempotência).
Detalhes da Origem (Inventory)¶
- Ambiente: Servidor de Produção (Réplica de Leitura/Snapshot).
- Tecnologia: Banco de Dados Relacional (Legado InfoEscola).
- Versão do Schema: v2024.04 (Snapshot de referência para o projeto).
- Encoding de Origem:
latin1/CP1252(Atenção a caracteres especiais em nomes de alunos).
Escopo da Extração¶
Todos os dados do sistema legado foram extraídos em uma carga só (full load). Os dados são históricos, não haverá alteração.
Rastreabilidade e Governança¶
Toda carga gerada neste ciclo de extração do sistema legado seguiram as seguintes regras de rastreabilidade:
_extraction_at: Timestamp UTC do início do processo._source_system: Identificador do sistema de origem (ex:infoescola_legacy).Checksumda linha original para validação de integridade.
Protocolo de Armazenamento (Bronze Layer)¶
Os dados serão armazenados em formato Parquet (ou Delta) no destino, mantendo a estrutura exata da origem.
- Caminho:
/mnt/bronze/contrato/YYYY/MM/DD/ - Regra de Ouro: Nenhuma transformação destrutiva ou cast de tipo será feito nesta etapa. O dado bruto é sagrado.
Gestão de Ocorrências e Limitações¶
- Tratamento de Encoding: Qualquer erro de decodificação será logado e o registro marcado com
_error_flag = 'encoding_issue', em vez de interromper a extração. - Timeout: Configuração de retry (3 tentativas) para tabelas volumosas como
PESSOA. - Limitação Conhecida: O campo
observacao_contratono legado é um campoBLOB/TEXTque pode conter caracteres de quebra de linha que corrompem CSVs; por isso, a extração será via conector binário direto para Parquet.
Evidências de Execução (Checklist de Saída)¶
1. Log de Extração (Exemplo de Saída)¶
[2026-05-14 10:00:00] INFO: Iniciando extração da tabela CONTRATO.[2026-05-14 10:05:22] SUCCESS: 450.123 registros extraídos com sucesso.[2026-05-14 10:05:23] WARN: 12 registros ignorados por erro de truncamento no campo 'complemento'.
2. Validação de Volume¶
| Tabela | Contagem Origem (Source) | Contagem Destino (Bronze) | Status |
|---|---|---|---|
CONTRATO |
450.123 | 450.123 | ✅ Match |
PESSOA |
1.200.550 | 1.200.550 | ✅ Match |
3. Intervalo Temporal¶
- Início:
2018-01-01 00:00:00 - Fim:
2026-04-30 23:59:59
Status da Extração:
- [x] Origem e Destino Mapeados
- [x] Chaves de Rastreabilidade Definidas
- [x] Estratégia de Carga (Incremental/Full) Validada
- [x] Logs de Erro Estruturados