O Data Quality oferece modelos predefinidos de regras de monitoramento no nível de tabela e de campo. Em vez de criar regras do zero, selecione um modelo e aplique-o a várias tabelas ou campos simultaneamente. Essa abordagem é ideal para garantir verificações de qualidade consistentes em diversas tabelas de um grande data warehouse.
Fontes de dados compatíveis
Os modelos oferecem suporte a regras de monitoramento para as seguintes fontes de dados: MaxCompute, E-MapReduce (EMR), Hologres, CDH Hive, AnalyticDB for PostgreSQL, AnalyticDB for MySQL, StarRocks, MySQL, Lindorm, SQL Server e Data Lake Formation (DLF).
Antes de começar: Escolha seu caminho
Use esta tabela para definir sua abordagem de configuração antes de iniciar.
|
Decisão |
Opção A |
Opção B |
|
O que você deseja verificar? |
Uma tabela inteira (contagem de linhas, taxas de nulos, duplicatas) |
Um campo específico (distribuição de valores, unicidade, formato) |
|
Tipo de modelo a selecionar |
Table-Level |
Field-Level |
|
Você conhece o intervalo esperado dos dados? |
Sim — defina os limiares manualmente |
Não — permita que o sistema aprenda com dados históricos |
|
Método de comparação a usar |
Manual Settings |
Intelligent Dynamic Threshold |
O Intelligent Dynamic Threshold está disponível apenas para regras baseadas em instruções SQL personalizadas, intervalos personalizados ou limiar dinâmico.
Como funciona
A configuração de regras de monitoramento a partir de um modelo envolve três etapas:
Selecione um modelo e configure os parâmetros da regra — Escolha um modelo integrado de nível de tabela ou de campo e defina o método de comparação e os limiares que determinam o que constitui "dados válidos".
Adicione tabelas ou campos em lote — Selecione todas as tabelas ou campos que a regra deve abranger.
Associe a regra a um monitor de qualidade — Um monitor de qualidade define o escopo dos dados (por exemplo, uma partição específica de uma tabela particionada) e vincula a regra a um nó de agendamento que aciona as verificações automaticamente.
Etapa 1: Abrir a página Configure by Template
Faça login no console do DataWorks. Na barra de navegação superior, selecione a região de destino. No painel de navegação à esquerda, escolha Data Governance > Data Quality. Selecione o workspace desejado na lista suspensa e clique em Acesse o Data Quality.
-
No painel de navegação à esquerda, escolha Configure Rules > Configure by Template. O Data Quality exibe os modelos de regra integrados de Table Level e Field Level. Clique em Configure Monitoring Rules no modelo que deseja utilizar.

Etapa 2: Configurar propriedades da regra
Na página Batch Add Monitoring Rules, defina as configurações abaixo.
Atributos básicos
|
Parâmetro |
Descrição |
|
Data Source Type |
Tipo de fonte de dados das tabelas que esta regra abrangerá. Consulte Fontes de dados compatíveis para ver a lista completa. |
|
Rule Source |
Exibe Built-in Template e o nome do modelo selecionado. Somente leitura. Para a lista completa de modelos disponíveis, consulte Visualizar modelos de regras integrados. |
|
Template |
Modelo selecionado. |
|
Rule Name |
Gerado automaticamente. Ajuste o sufixo do nome conforme necessário. |
Propriedades avançadas
Escolha um método de comparação
|
Método |
Quando usar |
Como funcionam os limiares |
|
Manual Settings |
Quando você conhece o intervalo esperado dos dados ou os limites de flutuação |
Para resultados numéricos, compara com um valor fixo esperado usando um operador de comparação. Defina um Normal Threshold (intervalo esperado) e um Red Threshold (violação crítica). Para verificações baseadas em flutuação, use Absolute Value, Raise ou Drop como método de comparação e configure o Normal Threshold. |
|
Intelligent Dynamic Threshold |
Quando não há certeza sobre quais valores de limiar definir |
O sistema determina automaticamente o limiar adequado com base em algoritmos inteligentes. Não requer valores manuais de limiar. Alertas são disparados ou tarefas bloqueadas imediatamente ao detectar dados anormais. Configure o Orange Threshold para definir o intervalo de resultados anômalos, mas não críticos. |
O Intelligent Dynamic Threshold está disponível apenas para regras baseadas em instruções SQL personalizadas, intervalos personalizados ou limiar dinâmico.
Configure o grau de importância
|
Valor |
Efeito ao exceder o red threshold |
|
Strong rules |
O nó de agendamento associado é bloqueado por padrão, impedindo a execução de tarefas downstream. |
|
Weak rules |
O nó de agendamento associado não é bloqueado. Um alerta é enviado, mas as tarefas downstream continuam. |
Configure monitoring thresholds
-
Se o Comparison Method estiver definido como Manual Settings:
Normal Threshold: O resultado da verificação de qualidade de dados atende à condição especificada, indicando que a saída de dados está conforme o esperado.
Red Threshold: O resultado da verificação de qualidade de dados atende à condição especificada, indicando que a saída de dados não está conforme o esperado.
Para resultados numéricos, compare com um valor fixo usando: Greater Than, Greater Than Or Equal To, Equal To, Not Equal To, Less Than ou Less Than Or Equal To.
Para verificações baseadas em flutuação, utilize Absolute Value, Raise ou Drop como método de comparação.
-
Se o Comparison Method estiver definido como Intelligent Dynamic Threshold:
Orange Threshold: O resultado da verificação de qualidade de dados atende à condição especificada, significando que os dados são anormais, mas seus negócios não são afetados.
Status: Defina como Ative para permitir a execução da regra em produção. Se definido como Disable, a regra não poderá ser executada em modo de teste nem acionada por nós de agendamento.
ImportanteDesativar uma regra impede sua execução tanto em ambientes de teste quanto de produção.
Clique em Next para prosseguir para a página Generate Monitoring Rule.
Etapa 3: Adicionar tabelas ou campos
Com base no tipo de modelo selecionado, adicione as tabelas ou campos que deseja verificar.
Adicionar tabelas (Modelo de Regra de Nível de Tabela)
-
Clique em Add Table. Na página Batch Create, selecione as tabelas que deseja adicionar.
A lista mostra todas as tabelas correspondentes ao Data Source Type configurado na etapa anterior. Filtre por Table Name conforme necessário.
Clique em Confirme para adicionar as tabelas selecionadas à lista Tables for Which You Want to Configure Rules.
Adicionar campos (Modelo de Regra de Nível de Campo)
-
Clique em Add Fields. Na caixa de diálogo Selecione um campo, selecione a tabela que contém o campo de destino.
A área Tables to Be Selected lista as tabelas com base no Data Source Type configurado na etapa anterior.
-
Após selecionar uma tabela, a seção Select Fields exibe todos os campos dessa tabela. Filtre por Field Name ou Field Description conforme necessário.

Selecione o campo e clique em Crie. O campo aparecerá na lista Fields for Which You Want to Configure Rules.
Etapa 4: Associar um monitor de qualidade
Um monitor de qualidade define o escopo dos dados (o Data Range, como uma partição específica) e as configurações de acionamento para a verificação de qualidade. Associe cada tabela ou campo a um monitor de qualidade.
Configuração em lote
-
Selecione uma ou mais tabelas ou campos e clique em Configure Monitor.

-
Escolha uma das seguintes ações em lote:
Automatically Associate: Associa automaticamente as tabelas ou campos selecionados a monitores de qualidade existentes.
Disassociate: Remove a associação do monitor de qualidade das tabelas ou campos selecionados.
-
Batch Add: Cria novas configurações de monitor de qualidade para as tabelas selecionadas. Configure o seguinte:
Item de configuração
Descrição
Data Range
Partição ou escopo de dados a verificar. Para tabelas não particionadas, use uma cláusula WHERE para limitar o escopo (ou deixe em branco para verificar todos os dados). Para tabelas particionadas, use o formato
Partition key=Partition value. O valor da partição pode ser uma constante ou uma expressão de filtro de partição integrada.Trigger Method
Triggered by Node Scheduling in Production Environment: As verificações são executadas automaticamente após a conclusão do nó de agendamento associado no Operation Center. Nós de simulação (dry-run) não acionam verificações. Triggered Manually: As verificações são executadas apenas quando acionadas manualmente.
Associated Scheduling Node
Disponível quando o Trigger Method está definido como Triggered By Node Scheduling In Production Environment. Selecione os nós de agendamento para associar ao monitor.
Running Resources
Recursos de computação usados para executar a regra. O padrão é a fonte de dados da tabela monitorada no workspace atual. Se selecionar uma fonte de dados diferente, certifique-se de que ela possa acessar a tabela monitorada.
ImportantePara tabelas que não sejam do MaxCompute com a opção Triggered By Node Scheduling In Production Environment selecionada, não associe nós de agendamento executados no grupo de recursos compartilhados para agendamento. Isso pode causar erros durante a execução do monitor.
Configuração de tabela única
-
Na coluna Quality Monitoring, ao lado da tabela ou campo de destino, selecione um monitor de qualidade existente ou clique em New Quality Monitoring para criar um novo.

-
Se nenhum monitor existir, clique em Create Monitor e configure o seguinte:
Configurações básicas
Parâmetro Descrição Monitor Name Nome do monitor. Quality Monitoring Owner Proprietário do monitor. Ao configurar assinaturas de alertas, especifique o proprietário como destinatário usando Email, Email and SMS ou Telephone. Monitored Object Tabela a ser verificada. O padrão é a tabela atual. Data Range Partição ou escopo de dados a verificar. Para tabelas não particionadas, todos os dados são verificados por padrão. Para tabelas particionadas, use o formato Partition key=Partition value. O valor da partição pode ser uma constante ou uma expressão de filtro de partição integrada. >NotaPara regras baseadas em modelos personalizados ou instruções SQL personalizadas, o Data Range não tem efeito. A partição é determinada pela instrução SQL na regra.
Monitoring Rule Regras de monitoramento a serem associadas a este monitor. Se ainda não existirem regras, pule este campo e adicione-as após criar o monitor. Configurações de execução
Parâmetro
Descrição
Trigger Method
Igual à configuração em lote.
Associated Scheduling Node
Igual à configuração em lote.
Running Resources
Igual à configuração em lote.
Políticas de tratamento
Parâmetro
Descrição
Quality Issue Handling Policies
Blocks: Se um problema de qualidade de dados for detectado, o nó de agendamento que gera a tabela é definido como Falha, bloqueando nós downstream. Padrão:
Strong rules · Red anomaly. Alert: Envia notificações de alerta quando um problema é detectado. Padrões:Strong rules · Red anomaly,Strong rules · Orange exception,Strong rules · Check Failed,Weak rules · Red anomaly,Weak rules · Orange exception,Weak rules · Check Failed.Alert Method Configuration
Canais de notificação: Email, Email and SMS, DingTalk Chatbot, DingTalk Chatbot @ALL, Lark Group Chatbot, Enterprise WeChat Robot, Custom Webhook ou Telephone. Para chatbots do DingTalk, Lark ou WeChat, adicione o bot e copie a URL do webhook para o campo Recipient. O Custom Webhook está disponível apenas no DataWorks Enterprise Edition. Consulte Apêndice: Formato de mensagem do Webhook para o formato da mensagem. Ao usar Email, Email and SMS ou Telephone, defina o destinatário como Data Quality Monitoring Owner (o proprietário definido nas Configurações Básicas), Shift Schedule (a pessoa de plantão na escala) ou Scheduling Task Owner (o proprietário do nó de agendamento associado).
-
Após criar o monitor, retorne à página de regras de monitoramento em lote e clique em Refresh. Em seguida, selecione o monitor recém-criado na coluna Quality Monitoring.

Etapa 5: Testar e finalizar
Clique em Generate Monitoring Rule para abrir a página Verify Monitoring Rule. Nesta página:
-
Test Run: Selecione uma ou mais regras e clique em Test Run. Na caixa de diálogo, selecione um Data Timestamp (o horário de acionamento simulado). O sistema calcula os valores de partição com base no horário especificado e no Data Range, e então verifica se os dados atendem à regra configurada. Após a conclusão do teste, clique em Running Records na coluna Actions para visualizar os resultados.

Subscriptions: Configure destinatários de alertas e canais de notificação. Consulte as opções de método de alerta na Etapa 4.
-
Associated Scheduling: Vincule regras a nós de agendamento. Use Use Recommended Running Mode para permitir que o sistema associe automaticamente as regras aos nós recomendados com base na linhagem de dados, ou use Manually Specify Running Mode para associar regras a nós específicos manualmente.
ImportanteUma regra deve estar associada a um nó de agendamento para ser acionada automaticamente.

View Rule Details: Clique em Visualize detalhes da regra na coluna Actions para abrir a página de detalhes de uma regra, onde é possível modificar, iniciar, parar ou excluir a regra e visualizar logs.
Delete: Remova uma ou mais regras selecionadas.
Após o sucesso do teste e a associação do agendamento, clique em Complete Check.
Próximos passos
Após a execução do monitor, escolha Quality O&M no painel de navegação à esquerda e clique em Monitor > Running Records para visualizar o status das verificações de qualidade e o histórico completo de verificações de regras para as tabelas monitoradas.
Apêndice: Formato de mensagem do Webhook
Esta seção descreve o formato da mensagem e os parâmetros para notificações de alerta enviadas usando um Custom Webhook.
Mensagem de exemplo
{ "detailUrl": "https://dqc-cn-zhangjiakou.data.aliyun.com/?defaultProjectId=3058#/jobDetail?envType=ODPS&projectName=yongxunQA_zhangbei_standard&tableName=sx_up_001&entityId=10878&taskId=16876941111958fa4ce0e0b5746379cd9bc67999d05f8&bizDate=1687536000000&executeTime=1687694111000", "datasourceName": "emr_test_01", "engineTypeName": "EMR", "projectName": "Project name", "dqcEntityQuality": { "entityName": "tb_auto_test", "actualExpression": "ds=20230625", "strongRuleAlarmNum": 1, "weakRuleAlarmNum": 0 }, "ruleChecks": [ { "blockType": 0, "warningThreshold": 0.1, "property": "id", "tableName": "tb_auto_test", "comment": "Test a monitoring rule", "checkResultStatus": 2, "templateName": "Compare the Number of Unique Field Values Against Expectation", "checkerName": "fulx", "ruleId": 123421, "fixedCheck": false, "op": "", "upperValue": 22200, "actualExpression": "ds=20230625", "externalId": "123112232", "timeCost": "10", "trend": "up", "externalType": "CWF2", "bizDate": 1600704000000, "checkResult": 2, "matchExpression": "ds=$[yyyymmdd]", "checkerType": 0, "projectName": "auto_test", "beginTime": 1600704000000, "dateType": "YMD", "criticalThreshold": "0.6", "isPrediction": false, "ruleName": "Rule name", "checkerId": 7, "discreteCheck": true, "endTime": 1600704000000, "MethodName": "max", "lowerValue": 2344, "entityId": 12142421, "whereCondition": "type!='type2'", "expectValue": 90, "templateId": 5, "taskId": "16008552981681a0d6", "id": 234241453, "open": true, "referenceValue": [ { "discreteProperty": "type1", "value": 20, "bizDate": "1600704000000", "singleCheckResult": 2, "threshold": 0.2 } ], "sampleValue": [ { "discreteProperty": "type2", "bizDate": "1600704000000", "value": 23 } ] } ] }Descrição dos parâmetros
Parâmetro
Tipo
Exemplo
Descrição
ProjectNameString
autotestNome da instância do mecanismo de computação ou fonte de dados sendo monitorada.
actualExpressionString
ds=20200925Partição na tabela da fonte de dados monitorada.
RuleChecksArray
—
Lista de resultados de validação.
BlockTypeInteger
1Força da regra.
1= Strong rule.0= Weak rule. Regras fortes bloqueiam tarefas de agendamento quando o limiar crítico é excedido.WarningThresholdFloat
0.1Limiar de aviso. Indica o desvio permitido em relação ao valor esperado.
PropertyString
typeColuna na tabela da fonte de dados que a regra verifica.
TableNameString
dualNome da tabela validada.
CommentString
—
Descrição da regra de validação.
CheckResultStatusInteger
2Status do resultado da verificação.
TemplateNameString
Compare number of unique field values against expectationNome do modelo de validação.
CheckerNameString
fulxNome do verificador.
RuleIdLong
123421ID da regra.
FixedCheckBoolean
falseIndica se um valor fixo é usado para a verificação.
true: valor fixo.false: sem valor fixo.OpString
>Operador de comparação.
UpperValueFloat
22200Limite superior previsto, gerado automaticamente com base no limiar configurado.
ActualExpressionString
ds=20200925Partição real na tabela da fonte de dados que foi verificada.
ExternalIdString
123112232ID do nó para a tarefa agendada.
TimeCostString
10Duração da tarefa de verificação.
TrendString
upTendência dos resultados de monitoramento.
ExternalTypeString
CWF2Tipo de sistema de mapeamento CDN. Apenas
CWFé suportado.BizDateLong
1600704000000Timestamp dos dados. Para dados offline, geralmente é um dia antes da execução da verificação.
CheckResultInteger
2Resultado da verificação.
MatchExpressionString
ds=$[yyyymmdd]Expressão de filtro de partição.
CheckerTypeInteger
0Tipo do verificador.
ProjectNameString
autotestNome do mecanismo de computação ou fonte de dados para a verificação de qualidade de dados.
BeginTimeLong
1600704000000Horário de início da operação de verificação.
DateTypeString
YMDTipo de ciclo de agendamento.
YMDindica tarefas anuais, mensais e diárias.CriticalThresholdFloat
0.6Limiar crítico. Indica o grau de desvio em relação ao valor esperado. Se uma regra forte exceder esse limiar, as tarefas de agendamento serão bloqueadas.
IsPredictionBoolean
falseIndica se o resultado é uma previsão.
true: previsão.false: não é previsão.RuleNameString
—
Nome da regra.
CheckerIdInteger
7ID do verificador.
DiscreteCheckBoolean
trueIndica se a validação discreta está ativada.
true: discreto.false: não discreto.EndTimeLong
1600704000000Horário de término da consulta de resultados de verificação.
MethodNameString
maxMétodo usado para coletar dados de amostra. Valores suportados:
avg,count,sum,min,max,count_distinct,user_defined,table_count,table_size,table_dt_load_count,table_dt_refuseload_count,null_value,null_value/table_count,(table_count-count_distinct)/table_count,table_count-count_distinct.LowerValueFloat
2344Limite inferior previsto, gerado automaticamente com base no limiar configurado.
EntityIdLong
14534343ID da expressão de filtro de partição.
WhereConditionString
type!='type2'Condição de filtro para a tarefa de validação.
ExpectValueFloat
90Valor esperado.
TemplateIdInteger
5ID do modelo de validação.
TaskIdString
16008552981681a0d6****ID da tarefa de verificação.
IdLong
2231123ID da chave primária.
ReferenceValueArray
—
Valores históricos de amostra.
DiscretePropertyString
type1Valores do campo de amostra agrupados por GROUP BY. Por exemplo, agrupar por Gênero retorna
Male,Femaleenull.ValueFloat
20Valor da amostra.
BizDateString
1600704000000Timestamp dos dados. Para dados offline, geralmente um dia antes da execução da verificação.
SingleCheckResultInteger
2Resultado da verificação para uma única checagem.
ThresholdFloat
0.2Valor do limiar.
SampleValueArray
—
Valores atuais de amostra.
OpenBoolean
trueIndica se a regra está ativada.