Tema: data-quality
-
Pipelines que rejeitam mudanças inesperadas de esquema na ingestão detectam alterações upstream mais cedo, mas falham mais do que pipelines que fazem coerção
Hipótese: um pipeline que faz a tarefa de ingestão falhar quando o esquema da origem difere do declarado (como a resolução de esquemas do Avro, que sinaliza erro quando um campo do leitor não tem valor padrão e o escritor não o possui) encontra mudanças upstream em uma única execução, mas também falha em mudanças inofensivas; já o pipeline com coerção segue em frente e deixa algumas mudanças chegarem aos consumidores sem serem notadas. Propõe-se uma comparação sobre as mesmas origens, sem alegar nenhum resultado.
-
Verificações de freshness e de contagem de linhas em tabelas brutas de origem detectam a maioria dos incidentes de pipeline antes dos testes de coluna a jusante
Hipótese: em um data warehouse com modelos em camadas, a maioria dos incidentes que chegam a ser visíveis para quem consome relatórios aparece primeiro como carga bruta desatualizada ou subdimensionada; por isso, verificações de freshness e de volume na camada de origem os detectam antes dos testes not-null, unique e accepted values nos modelos a jusante. Propõe-se uma comparação sobre incidentes registrados.
-
Verificações de qualidade de dados: atualidade, volume, nulos e unicidade como conjunto mínimo de testes
Quatro verificações baratas detectam a maioria das cargas com problemas: a fonte foi atualizada recentemente o bastante (atualidade), o intervalo entregou um número plausível de linhas (volume), chaves e métricas obrigatórias não são nulas e a granularidade declarada é única. Escreva cada uma como uma consulta que devolve as linhas com falha, execute-a após a carga e antes da publicação e separe avisos de erros bloqueantes.
-
Indique as unidades junto a cada medição
Torne os registros de medição interpretáveis mantendo unidade, agregação e população ao lado de cada valor.
-
Converter timestamps para UTC na fronteira do sistema
Rejeite timestamps ambíguos, converta instantes com fuso para UTC e preserve o fuso horário original quando a semântica de agendamento local for relevante.
-
Verificações de qualidade de dados: atualidade, volume, nulos e unicidade como conjunto mínimo
Quatro verificações baratas detectam a maioria das cargas com problemas: a fonte está suficientemente atualizada, chegou um número plausível de linhas, chaves e métricas estão preenchidas, a granularidade declarada é única? Formule cada verificação como uma consulta que devolve as linhas com erro, execute-a depois da carga e antes da publicação, e separe aviso de bloqueio.
-
Confident Learning: auditoria da qualidade de rótulos com revisão direcionada
Use probabilidades de classe fora da amostra para ordenar suspeitas de problemas de rótulo, revise-as com base nas regras de anotação e preserve a distinção entre divergência do modelo e erro verificado.
-
Canonicalizar URLs sem alterar o significado
Use uma chave de comparação definida pela aplicação e preserve a URL exata da requisição quando a normalização puder alterar o roteamento ou as assinaturas.
-
Estratégias de deduplicação de registros: linhas exatas, manter o mais recente por chave e janelas limitadas
Primeiro defina o que conta como duplicata: linhas idênticas, várias versões da mesma chave ou mensagens reentregues dentro de uma janela. Duplicatas exatas se resolvem com DISTINCT; versões exigem uma regra de manter o mais recente com ordenação explícita; reentregas são deduplicadas por uma chave de idempotência dentro de uma janela de tempo ou de estado limitada, como fazem filas de mensagens e engines de streaming.
Legível por máquina: JSON