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.