Todos os produtos
Search
Central de documentação

DataWorks:Regras de Schema Check

Última atualização: Oct 26, 2026

Use regras de Schema Check para detectar alterações no schema da tabela, como exclusão, adição, mudança na ordem ou alteração no tipo das colunas. O sistema aciona um alerta sempre que identifica uma dessas modificações.

Exemplo de configuração

O exemplo a seguir aciona warn (alerta laranja) para qualquer alteração no schema da tabela e fail (alerta vermelho) especificamente quando uma coluna é excluída.

datasets:
  - type: Table
    tables:
      - tb_d_spec_demo
    dataSource:
      name: odps_first
      envType: Dev
rules:
  - assertion: change for schema
    warn:
      - when any changes
    fail:
      - when column delete

Definir uma regra de Schema Check

Durante a execução de uma regra de Schema Check, o sistema coleta o schema da tabela em tempo real e o compara com o schema de linha de base para identificar diferenças. Em seguida, verifica essas alterações em relação às condições warn e fail definidas na regra para gerar o resultado da verificação. Uma regra possui as seguintes propriedades:

  • assertion: fixado como change for schema, indicando que se trata de uma regra de Schema Check.

  • warn: lista de condições para alerta laranja. O sistema aciona esse alerta quando qualquer uma dessas condições é atendida.

  • fail: lista de condições para alerta vermelho. Esse alerta é disparado ao atender qualquer uma das condições listadas.

As condições seguem o formato when <change type>. As opções suportadas são:

Condição

Descrição

when any changes

Qualquer modificação no schema da tabela, incluindo exclusão, adição, alteração de ordem ou mudança de tipo de coluna.

when column delete

Exclusão de uma coluna.

when column add

Adição de uma nova coluna.

when column index change

Alteração na ordem relativa das colunas presentes em ambas as coleções.

when column type change

Modificação no tipo de dados de uma coluna.

A prioridade abaixo determina o resultado da verificação:

  1. Correspondência com alguma condição fail: o resultado é fail e o sistema dispara um alerta vermelho.

  2. Nenhuma condição fail atendida, mas correspondência com alguma condição warn: o resultado é warn e o sistema dispara um alerta laranja.

  3. Nenhuma condição atendida: a verificação é aprovada.

Nota

Uma regra de Schema Check define seu resultado com base nas condições warn e fail. Não é necessário configurar limites numéricos nem especificar quais colunas monitorar.

Usar um modelo de regra do sistema

O Data Quality oferece cinco modelos de regras do sistema para detecção de alterações de schema, cobrindo cada um dos cenários de mudança. Todas as regras criadas a partir desses modelos utilizam internamente assertion: change for schema. A sintaxe equivalente de cada modelo está descrita a seguir. Para mais informações sobre outros modelos, consulte Modelos de regras.

ID do modelo

Nome do modelo

Sintaxe equivalente

SYSTEM:table:schema:any_changes

Alteração de schema - Qualquer alteração

assertion: change for schema
    fail:
      - when any changes

SYSTEM:table:schema:column_delete

Alteração de schema - Exclusão de coluna

assertion: change for schema
    fail:
      - when column delete

SYSTEM:table:schema:column_add

Alteração de schema - Adição de coluna

assertion: change for schema
    fail:
      - when column add

SYSTEM:table:schema:column_index_change

Alteração de schema - Mudança na ordem das colunas

assertion: change for schema
    fail:
      - when column index change

SYSTEM:table:schema:column_type_change

Alteração de schema - Mudança no tipo da coluna

assertion: change for schema
    fail:
      - when column type change

Por exemplo, ao utilizar o modelo SYSTEM:table:schema:column_delete, o sistema dispara um alerta vermelho caso uma coluna seja excluída. Como esse modelo já inclui a condição fail correspondente, basta especificar o templateId:

datasets:
  - type: Table
    tables:
      - tb_d_spec_demo
    dataSource:
      name: odps_first
      envType: Dev
rules:
  - templateId: "SYSTEM:table:schema:column_delete"

Os modelos servem como atalhos para cenários predefinidos. Caso precise combinar vários tipos de alteração ou definir simultaneamente condições warn e fail, utilize a sintaxe assertion: change for schema e defina as condições manualmente.

Exemplos de condições combinadas

Os exemplos abaixo mostram apenas a seção rules.

Exemplo 1: Um alerta laranja é acionado para qualquer alteração no schema da tabela, enquanto um alerta vermelho ocorre especificamente na exclusão de colunas.

rules:
  - assertion: change for schema
    warn:
      - when any changes
    fail:
      - when column delete

Alteração no schema da tabela

Resultado da verificação

Sem alterações

Aprovado

Coluna adicionada

Alerta laranja (corresponde à condição warn)

Coluna excluída

Alerta vermelho (corresponde à condição fail)

Colunas excluídas e adicionadas simultaneamente

Alerta vermelho (condições fail têm prioridade)

Exemplo 2: Monitoramento restrito a exclusão de colunas e alteração de tipos.

rules:
  - assertion: change for schema
    fail:
      - when column delete
      - when column type change

Alteração no schema da tabela

Resultado da verificação

Coluna adicionada

Aprovado (nenhuma condição atendida)

Coluna excluída

Alerta vermelho

Alteração no tipo da coluna

Alerta vermelho

Alteração na ordem das colunas

Aprovado (nenhuma condição atendida)

Exemplo 3: Apenas a condição warn está configurada, sem definição de fail. Nesse caso, mudanças no tipo ou na ordem das colunas geram somente alerta laranja, nunca vermelho.

rules:
  - assertion: change for schema
    warn:
      - when column type change
      - when column index change

Como funciona a detecção

Em cada verificação, o sistema compara o schema da tabela coletado em tempo real (valor da amostra) com o schema de linha de base (valor de referência):

  • Valor de referência: o schema de tabela válido mais recente coletado pela mesma regra.

  • Valor da amostra: o schema da tabela obtido em tempo real durante a verificação atual.

  • Primeira verificação: na ausência de valores históricos, o sistema adota o schema coletado no momento como valor de referência e aprova a verificação automaticamente.

A identificação de cada tipo de alteração segue os critérios abaixo.

Tipo de alteração

Critério de identificação

Exclusão de coluna

A coluna existe no valor de referência, mas não aparece no valor da amostra.

Adição de coluna

A coluna está presente no valor da amostra, mas não consta no valor de referência.

Alteração na ordem das colunas

A comparação considera apenas as colunas existentes tanto no valor de referência quanto na amostra. Identifica-se a mudança quando há variação na ordem relativa dessas colunas. Deslocamentos causados por adição ou remoção de outras colunas não caracterizam alteração de ordem.

Alteração no tipo da coluna

A mesma coluna apresenta tipos de dados diferentes entre o valor de referência e o valor da amostra.

Nota

Independentemente das condições configuradas na regra, o sistema registra todas as alterações detectadas na verificação. Tipos de mudança não especificados nas condições não influenciam o resultado final.

Visualize resultados da verificação

Ao consultar os detalhes de verificação de uma regra de Schema Check, o sistema exibe as seguintes informações na seção Quality collection and comparison status results:

  • Check item: exibido como Table Schema.

  • Actual result: quantidade de colunas no valor da amostra, somada aos totais de colunas excluídas, adicionadas, com tipo alterado e com ordem modificada.

  • Reference: número de colunas no valor de referência, rotulado como Schema Snapshot.

  • Difference: total de alterações identificadas. Na primeira execução, este campo aparece como First Check.

Clique em View Full Table Schema Comparison para comparar lado a lado as listas de colunas do valor de referência e do valor da amostra. As colunas modificadas aparecem destacadas em cores diferentes. Durante a primeira verificação, como não existe valor de referência, o sistema exibe apenas o schema atual da tabela.

Fontes de dados suportadas

As regras de Schema Check oferecem suporte às seguintes fontes de dados: MaxCompute, Hologres, EMR Hive, CDH Hive, Lindorm, MySQL, StarRocks, SQL Server e SelectDB.