Quando a fonte muda de layout e quebra o pipeline em silêncio
· ETL, contrato de dados, qualidade
Em resumo: quando um fornecedor muda o layout de um arquivo (uma coluna a mais, ordem trocada, encoding diferente) sem avisar, um pipeline ingênuo continua rodando e desalinha as colunas, então o relatório sai com valores no campo errado, sem nenhum erro. A defesa é um contrato de dados que valida o arquivo na entrada e barra o que não bate.
Como uma mudança "pequena" corrompe tudo
Pipelines costumam ler a posição da coluna ("a terceira é o valor"). Se a fonte insere uma coluna no meio, a terceira passa a ser outra coisa, e o pipeline lê data como valor, ou mistura cliente com produto. Nada quebra; tudo fica errado. É o tipo de falha que só aparece quando alguém estranha o número, dias depois. Já vi esse desalinhamento em produção mais de uma vez.
Por que o pipeline não acusa sozinho
Porque ele foi escrito para confiar no formato. Sem uma verificação explícita, ele faz o que mandaram: lê e processa. O pipeline executou a tarefa, mas não a tarefa certa, e essa é a raiz do erro silencioso.
Contrato de dados: validar antes de processar
A ideia é o arquivo provar que está no formato esperado antes de entrar:
- Esquema esperado: nome e ordem das colunas, tipos, encoding.
- Validação na ingestão: se não bate com o contrato, para e avisa, não processa.
- Quarentena: o arquivo problemático fica retido para análise, não vira relatório (como funciona).
- Ler por nome, não por posição: robustez extra contra reordenação de colunas.
É o princípio contract-first de um pipeline confiável: a fonte muda, o contrato acusa primeiro.
Schema drift e monitoramento de pipeline
Quando o layout do arquivo muda de um dia para o outro, o nome técnico disso é schema drift: a mudança de schema silenciosa da fonte. Contrato barra na entrada. Monitoramento de pipeline fecha o cerco, acompanhando esquema, contagem de colunas e volume a cada carga, e avisando quando a fonte muda antes de o número sair errado. Um impede; o outro enxerga.
Perguntas frequentes
Como detectar schema drift antes de o relatório sair errado? Compare o esquema de cada arquivo com um contrato fixo na ingestão: nome, ordem e tipo das colunas. Se não bate, o pipeline para e avisa. Monitoramento de pipeline complementa, registrando contagem de colunas e volume por carga e acusando o desvio na hora, não dias depois.
Ler colunas por nome resolve quando o layout do arquivo muda? Ajuda, mas não basta. Ler por nome protege contra reordenação. Não protege contra coluna removida, renomeada ou com tipo trocado. Por isso o contrato valida o conjunto inteiro na entrada, e não só a posição: é a diferença entre robustez parcial e barrar toda mudança de schema.
Implemento essa blindagem em pipelines ETL/ELT. Recebe arquivos de terceiros que mudam sem aviso? Posso ajudar a proteger a entrada do seu pipeline.
É exatamente isso que faço em Pipeline de dados que quebra alto e cedo — nunca em silêncio.
Leia também
Peça um diagnóstico do seu fechamento
Deixe seu contato e eu retorno com uma leitura rápida de onde seu relatório depende de uma pessoa — sem compromisso.
Resposta humanaSem cobrança até a propostaNDA bilateral