Pular para o conteúdo principal

Portões de qualidade.

As regras de qualidade decidem se um lote pode ser gravado. Eles são portas de segurança para pipelines, e não um substituto para uma plataforma completa de qualidade de dados.

Regras integradas

RegraEscopoQuarentena
required_columnsVerificação de presença em nível de esquema.Não, apenas aborto.
not_nullVerificação nula em nível de linha.Sim.
unique_keyVerificação de exclusividade no nível do conjunto de dados.Não, apenas aborto.
accepted_valuesVerificação de domínio em nível de linha.Sim.
min_rowsVerificação do volume mínimo no nível do conjunto de dados.Não, apenas aborto.
max_null_ratioVerificação agregada em nível de coluna.Não, apenas aborto.
expressionsRegra de expressão SQL.Depende da gravidade.
customRegra personalizada registrada.Definido por regras.

Exemplo

quality_rules:
required_columns: [order_id, customer_id, updated_at]
not_null: [order_id, updated_at]
unique_key: [order_id]
min_rows: 1
accepted_values:
status: [open, closed, cancelled]
max_null_ratio:
discount_amount: 0.20
expressions:
- name: non_negative_total
expression: "order_total >= 0"
severity: quarantine
message: "Order total must not be negative."

on_quality_fail: quarantine

Ações de falha

fail

Abortar a execução quando uma regra falhar. Use para tabelas selecionadas e contratos rígidos.

warn

Registre a falha, mas continue escrevendo. Use somente quando a empresa aceitar portas fracas.

quarantine

Grave linhas inválidas na quarentena e continue com linhas válidas quando as regras puderem isolar linhas.

Escalação apenas para abortar

Falhas no nível do conjunto de dados, como colunas ausentes, chaves duplicadas ou poucas linhas, falham mesmo quando a quarentena é solicitada.

Modelo de desempenho

ContractForge consolida agregados de qualidade para evitar uma ação Spark por regra. A extração de linhas em quarentena ainda requer uma ação porque as linhas rejeitadas devem ser materializadas.

Regras personalizadas

Use o registro de qualidade customizado quando uma regra for reutilizável em projetos. Mantenha as regras personalizadas determinísticas e retorne metadados explícitos; evite gravações ocultas ou efeitos colaterais externos.