O Data Quality permite configurar regras de monitoramento de qualidade para tabelas de dados. Use essas regras para verificar se os dados da tabela atendem aos requisitos, bloquear automaticamente tarefas problemáticas e impedir a propagação de dados incorretos para etapas posteriores, garantindo que os dados de saída estejam conforme o esperado. Este tópico descreve como configurar, executar e gerenciar regras de monitoramento de qualidade para uma tabela específica.
Pré-requisitos
Antes de configurar regras de qualidade para as tabelas de dados de um mecanismo, adquira seus metadados. Para mais informações, consulte Metadata acquisition.
Limitações
Limitações de fonte de dados: O Data Quality suporta regras de monitoramento apenas para fontes de dados MaxCompute, E-MapReduce, Hologres, CDH Hive, AnalyticDB for PostgreSQL, AnalyticDB for MySQL, StarRocks, MySQL, SQL Server, DLF e Lindorm.
Limitações de rede: Após configurar uma regra, o nó de agendamento que gera os dados da tabela deve usar um resource group com conexão de rede ativa para acionar a verificação da regra do Data Quality.
Limitações de eficácia da regra: Regras com limiar dinâmico exigem pelo menos 21 dias de dados de amostra para funcionar corretamente. Com menos de 21 dias de dados, a verificação pode falhar ou produzir resultados imprecisos. Nesse caso, configure a regra, associe-a a uma tarefa de agendamento e use o recurso de backfill para gerar os dados de amostra necessários.
Componentes principais do monitoramento de qualidade
A configuração de regras de qualidade para uma tabela cria um plano completo de monitoramento. Esse plano consiste em quatro componentes principais:
-
Escopo de monitoramento: Especifica o ativo alvo para as verificações de qualidade de dados. A configuração inclui:
Monitored Object: Tabelas físicas selecionadas para verificações de qualidade de dados. É possível monitorar tabelas particionadas e não particionadas.
Intervalo de dados: Em tabelas particionadas, uma expressão de filtro de partição define dinamicamente quais partições verificar em cada execução. Por exemplo, use
$[yyyymmdd-1]para verificar os dados da partição do dia anterior à data comercial.
-
Monitoring Rule: Define a lógica de validação específica e os padrões de medição para determinar se os dados atendem às expectativas.
-
Definição da regra: Adicione uma ou mais regras de qualidade a um objeto monitorado. Cada regra é instanciada a partir de um modelo, que pode ser de um dos seguintes tipos:
Modelo do sistema: Modelo integrado do DataWorks que abrange múltiplas dimensões, como integridade, unicidade e validade. Exemplos incluem "flutuação de contagem de linhas da tabela" e "contagem de valores únicos de campo".
Modelo personalizado: Modelo definido pelo usuário para criar lógica de validação reutilizável e personalizada por meio de SQL.
Propriedades da regra: Configure propriedades essenciais para cada regra, incluindo limiar (por exemplo, taxa de flutuação não superior a 30%) e severidade (regra forte ou fraca). Se a verificação de uma regra forte falhar, ela poderá bloquear a tarefa de agendamento associada.
-
-
Trigger Method: Define quando a tarefa de monitoramento de qualidade é executada.
Acionamento agendado: Associa o monitoramento de qualidade a um nó de agendamento upstream do DataWorks, geralmente aquele que gera a tabela monitorada. Quando o nó de agendamento é executado com sucesso, ele aciona automaticamente as regras de qualidade associadas. Esta é uma prática recomendada para garantia automatizada da qualidade de dados.
Triggered Manually: O processo de validação não está associado a uma tarefa de agendamento; inicie-o manualmente pela interface. Este método é adequado para exploração e validação de dados temporárias e únicas.
-
Política de alertas: Configura a estratégia de notificação para quando problemas de qualidade de dados forem encontrados.
Assinatura de alertas: Configure alertas para resultados específicos de verificação de regras, como "falha" ou "aviso". O sistema envia notificações por vários canais, incluindo e-mail, SMS, chamadas telefônicas, chatbots do DingTalk, Lark, WeCom e webhooks personalizados.
Ao configurar esses quatro componentes e salvar as definições, você cria um plano completo de monitoramento de qualidade. Antes de implantá-lo no ambiente de produção, recomendamos usar o recurso de execução de teste para verificar sua configuração.
Procedimento
Etapa 1: Acessar a página de detalhes de qualidade da tabela
-
Faça login no DataWorks console. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Quality.
-
Acesse a página de configuração de regras para tabelas.
No painel de navegação à esquerda, clique em para acessar a página de configuração de regras.
Na lista Connection à esquerda, selecione o banco de dados que contém a tabela para a qual deseja configurar regras.
-
Filtre as tabelas por critérios como tipo de banco de dados, banco de dados e nome da tabela. Clique no nome da tabela de destino ou em Rule Management na coluna Actions para abrir a página de detalhes de qualidade da tabela.
Esta página exibe todos os monitores de qualidade e regras da tabela. Filtre as regras por associação a um monitor de qualidade e defina o modo de execução para regras não associadas.
Etapa 2: Criar um monitor de qualidade
-
Crie um monitor de qualidade.
Use uma das seguintes formas para criar um monitor de qualidade:
Método 1: Na página Table Quality Details, clique na aba Rule Management. Clique no ícone
ao lado de Monitor Perspective para criar um monitor de qualidade.Método 2: Na página Table Quality Details, alterne para a aba de monitoramento de qualidade. Clique em Create Monitor.
-
Configure os parâmetros do monitor de qualidade.
Parâmetro
Parâmetro
Descrição
Basic Configurations
Monitor Name
Insira um nome personalizado para o monitor de qualidade.
Quality Monitoring Owner
Especifique um proprietário para o monitor de qualidade. Em uma assinatura de alerta, defina esse proprietário como destinatário das notificações por Email, Email and SMS ou Telephone.
Monitored Object
Objeto a ser verificado quanto à qualidade dos dados. Por padrão, esta é a tabela atual.
Data Scope
Use uma expressão de filtro de partição para definir as partições da tabela a serem verificadas.
-
Tabela não particionada: Não é necessário configurar este parâmetro. Por padrão, a Full Table é verificada.
-
Tabela particionada: A expressão deve estar no formato
partition_name=partition_value. O valor da partição pode ser fixo ou proveniente das Appendix 2: Built-in partition filter expressions.
NotaEssa configuração é ignorada ao configurar regras com modelo personalizado ou SQL personalizado, pois o próprio SQL determina quais partições verificar.
Select Monitoring Rule
Select Monitoring Rule
Selecione as regras de qualidade de dados a serem aplicadas ao intervalo de dados especificado.
Nota-
Crie vários monitores de qualidade para diferentes partições e associe cada um a diferentes regras de qualidade de dados.
-
Se ainda não criou uma regra de qualidade de dados, pule esta etapa. Crie primeiro o monitor de qualidade e adicione regras posteriormente. Para mais informações sobre como criar uma regra de qualidade de dados, consulte Step 3. Configure data quality rules.
Running Settings
Trigger Method
Método que aciona o monitor de qualidade.
-
Triggered by Node Scheduling in Production Environment: Associa o monitor de qualidade a uma tarefa agendada periodicamente especificada no DataWorks Operation Center. Após a execução bem-sucedida da tarefa, as regras de qualidade de dados neste monitor são acionadas automaticamente. Tarefas de simulação não acionam verificações de regras de qualidade de dados.
-
Triggered Manually: Aciona manualmente as regras de qualidade de dados associadas ao monitor de qualidade atual.
ImportanteSe a tabela monitorada não for uma tabela MaxCompute e você definir o Trigger Method como Triggered by Node Scheduling in Production Environment, a tarefa agendada periodicamente selecionada não poderá usar o grupo de recursos de agendamento público. Caso contrário, ocorrerá um erro durante a execução do monitor de qualidade.
Associated Auto Triggered Node
Se definir o Trigger Method como Triggered by Node Scheduling in Production Environment, configure este parâmetro para especificar um nó de agendamento associado. Após a execução bem-sucedida do nó especificado, as regras de qualidade de dados são acionadas automaticamente.
Resources
Recursos de computação usados para executar as verificações das regras de qualidade de dados. Por padrão, a fonte de dados da tabela monitorada no workspace é selecionada. Se selecionar outra fonte de dados, certifique-se de que seus recursos possam acessar a tabela.
Handling Policies
Quality Issue Handling Policies
Política aplicada quando um problema de qualidade de dados for detectado.
-
Alert: Ao detectar um problema de qualidade de dados, o sistema envia uma notificação de alerta aos assinantes do monitor de qualidade.
As condições padrão são:
Strong rule - Critical anomaly,Strong rule - Warning anomaly,Strong rule - Check failed,Weak rule - Critical anomaly,Weak rule - Warning anomalyeWeak rule - Check failed. -
Blocks: Ao detectar um problema de qualidade de dados, o sistema marca o nó de agendamento de produção acionador como falho e bloqueia seus nós downstream. Essa ação interrompe o pipeline de produção para evitar a disseminação de dados problemáticos.
A condição padrão é
Strong rule - Critical anomaly.ImportanteSe definir a política como Blocks, um alerta também será acionado quando um problema de qualidade de dados for detectado.
Alert Method Configuration
Envie notificações de alerta via Email, Email and SMS, DingTalk Chatbot, DingTalk Chatbot @ALL, Lark Group Chatbot, Enterprise WeChat Chatbot, Custom Webhook ou Telephone.
Nota-
Para usar um chatbot do DingTalk, Lark ou Enterprise WeChat, adicione o chatbot para obter sua URL de webhook e cole a URL nas configurações de assinatura de alerta.
-
O método Custom Webhook é suportado apenas no DataWorks Enterprise Edition. Para informações sobre o formato de mensagem de uma notificação de alerta enviada via Custom Webhook, consulte Appendix: Webhook message format.
-
Se selecionar Email, Email and SMS ou Telephone como método de notificação, defina o Authorized object como Data Quality Monitoring Owner, Shift Schedule ou Scheduling Task Owner.
-
Data Quality Monitoring Owner: Envia notificações de alerta para o Quality Monitoring Owner especificado na seção Basic Configurations do monitor de qualidade atual.
-
Shift Schedule: Quando um nó de agendamento associado aciona um alerta de qualidade, o sistema envia uma notificação para o on-duty user for the current day in the shift schedule.
-
Scheduling Task Owner: As notificações de alerta serão enviadas ao Head do nó de agendamento associado ao monitor de qualidade.
-
-
Clique em Save para criar o monitor de qualidade.
Etapa 3: Configurar regras de qualidade de dados
Configure regras de qualidade com base em modelos integrados nos níveis de tabela e de campo. Para mais informações sobre modelos de regras integrados, consulte View built-in rule templates.
Na página Table Quality Details, clique na aba Rule Management, selecione o monitor de qualidade criado e clique em Create Rule para acessar a página de configuração de regras.
-
Crie uma regra de qualidade de dados.
O Data Quality oferece os seguintes métodos para configurar regras. Escolha o método que melhor atende aos seus requisitos de negócios.
Método 1: Modelo do sistema
O Data Quality fornece dezenas de rule templates integrados. No painel à esquerda, clique em + Use ao lado de um modelo para criar rapidamente uma regra de qualidade. Adicione várias regras simultaneamente.
Clique em + System template rule na parte superior e modifique o parâmetro Template para alterar o modelo de regra.
Método 2: Modelo personalizado
NotaAntes de criar uma regra usando um modelo personalizado, acesse para criar um modelo de regra personalizado. Para mais informações, consulte Create and manage custom rule templates.
Ao usar um modelo personalizado, suas configurações básicas, como o FLAG parameter e o SQL de validação, são preenchidas automaticamente. Especifique um Rule Name personalizado e configure os limiares de monitoramento com base no tipo de regra. Por exemplo, uma regra numérica exige um limiar normal e um limiar crítico, enquanto uma regra do tipo flutuação também requer um limiar de aviso.
Método 3: SQL personalizado
Este método permite personalizar a lógica de validação de qualidade de dados para a tabela.
Método 4: Script personalizado
Regras de script personalizado suportam validação de dados nos níveis de hora e minuto. Para informações sobre como escrever uma regra de script, consulte Use a system rule template. Exemplo:
- assertion: change 30 minutes ago for max(id) = 15 name: 30-minute difference in max value of id field is 15 -
(Opcional) Adicione a regra configurada a um monitor de qualidade. Para mais informações sobre monitores de qualidade, consulte Step 2. Create a quality monitor.
NotaUma regra de qualidade só pode ser acionada após ser adicionada a um monitor de qualidade. Selecione um monitor de qualidade existente aqui ou selecione esta regra de qualidade na etapa Select quality rules ao configurar um monitor de qualidade.
Clique em Confirm.
Etapa 4: Testar a regra
Teste as regras de um monitor de qualidade das seguintes maneiras.
Aba Rule management
Na aba Rule Management, em Monitor Perspective, localize o monitor de qualidade criado e clique em Test Run.
Na caixa de diálogo Test Run, confirme parâmetros como Data Scope e Scheduled Time e clique em Test Run. Quando a mensagem Started aparecer, clique em View Details para visualizar os detalhes da execução de teste.
Aba Quality monitoring
Na aba Monitor, localize o monitor de qualidade criado e clique em Test na coluna Actions.
Na caixa de diálogo Test Run, confirme parâmetros como Data Scope e Scheduled Time e clique em Test Run. Quando a mensagem Started aparecer, clique em View Details para visualizar os detalhes da execução de teste.
Etapa 5: Modificar assinaturas de alerta
Você configurou uma assinatura de alerta em Step 2. Create a quality monitor. Quando uma regra é acionada, o sistema envia uma notificação aos destinatários de alerta especificados. Se precisar alterar os destinatários, modifique a assinatura de alerta de uma das seguintes maneiras.
Aba Rule management
Na aba Rule Management, em Monitor Perspective, localize o monitor de qualidade criado, clique em
e selecione Alert Subscription.-
Na caixa de diálogo Alert Subscription, após adicionar um Notification Method e um Recipient, clique em Save na coluna Actions. Após salvar, adicione mais métodos de notificação.
Os métodos de notificação suportados incluem Email, Email and SMS, DingTalk Chatbot, DingTalk Chatbot @ALL, Lark Group Chatbot, Enterprise WeChat Chatbot, Custom Webhook e Telephone.
NotaPara usar um chatbot do DingTalk, Lark ou Enterprise WeChat, adicione o chatbot para obter sua URL de webhook e cole a URL nas configurações de assinatura de alerta.
O método Custom Webhook é suportado apenas no DataWorks Enterprise Edition. Para informações sobre o formato de mensagem de uma notificação de alerta enviada via Custom Webhook, consulte Appendix: Webhook message format.
-
Se selecionar Email, Email and SMS ou Telephone como método de notificação, defina o Authorized object como Data Quality Monitoring Owner, Shift Schedule ou Scheduling Task Owner.
Data Quality Monitoring Owner: Envia notificações de alerta para o Quality Monitoring Owner especificado na seção Basic Configurations do monitor de qualidade atual.
Shift Schedule: Quando um nó de agendamento associado aciona um alerta de qualidade, o sistema envia uma notificação para o on-duty user for the current day in the shift schedule.
Scheduling Task Owner: As notificações de alerta serão enviadas ao Head do nó de agendamento associado ao monitor de qualidade.
Aba Quality monitoring
Na aba Monitor, localize o monitor de qualidade criado e escolha na coluna Actions.
-
Na caixa de diálogo Alert Subscription, após adicionar um Notification Method e um Recipient, clique em Save na coluna Actions. Após salvar, adicione mais métodos de notificação.
Os métodos de notificação suportados incluem Email, Email and SMS, DingTalk Chatbot, DingTalk Chatbot @ALL, Lark Group Chatbot, Enterprise WeChat Chatbot, Custom Webhook e Telephone.
NotaPara usar um chatbot do DingTalk, Lark ou Enterprise WeChat, adicione o chatbot para obter sua URL de webhook e cole a URL nas configurações de assinatura de alerta.
O método Custom Webhook é suportado apenas no DataWorks Enterprise Edition. Para informações sobre o formato de mensagem de uma notificação de alerta enviada via Custom Webhook, consulte Appendix: Webhook message format.
-
Se selecionar Email, Email and SMS ou Telephone como método de notificação, defina o Authorized object como Data Quality Monitoring Owner, Shift Schedule ou Scheduling Task Owner.
Data Quality Monitoring Owner: Envia notificações de alerta para o Quality Monitoring Owner especificado na seção Basic Configurations do monitor de qualidade atual.
Shift Schedule: Quando um nó de agendamento associado aciona um alerta de qualidade, o sistema envia uma notificação para o on-duty user for the current day in the shift schedule.
Scheduling Task Owner: As notificações de alerta serão enviadas ao Head do nó de agendamento associado ao monitor de qualidade.
Próximas etapas
Após a execução de um monitor de qualidade, acesse Quality O&M no painel de navegação à esquerda e clique em Monitor e Running Records para visualizar o status de verificação de qualidade da tabela e os registros completos de suas verificações de regras de qualidade.
Apêndice
Apêndice 1: Fórmulas de taxa de flutuação e variância
-
Fórmula da taxa de flutuação: taxa de flutuação = (valor da amostra - valor de linha de base) / valor de linha de base
valor da amostra: Valor da amostra do dia atual. Por exemplo, para uma verificação de taxa de flutuação de 1 dia na contagem de linhas da tabela de uma tarefa SQL, o valor da amostra é a contagem de linhas da partição do dia atual.
valor de linha de base: Valor de referência de amostras históricas.
NotaSe a regra for uma verificação de tarefa SQL
table row count, 1-day fluctuation rate, o valor de linha de base é a contagem de linhas da partição do dia anterior.Se a regra for uma verificação de tarefa SQL
table row count, 7-day average fluctuation rate, o valor de linha de base é a contagem média de linhas dos últimos 7 dias.
-
Fórmula da variância: (valor da amostra atual - média dos últimos N dias) / desvio padrão
NotaUse a variância apenas para tipos numéricos como BIGINT e DOUBLE.
Apêndice 2: Expressões de partição integradas
Considere o seguinte cenário:
O timestamp de dados (bizdate) é
20240524O horário de agendamento é
10:30:00
|
Expressão de partição |
Descrição |
Exemplo |
|
|
Verifica os dados da partição para o timestamp de dados atual. |
|
|
|
Verifica os dados da partição para o dia anterior ao timestamp de dados. |
|
|
|
Verifica os dados da partição para 7 dias antes do timestamp de dados (uma semana atrás). |
|
|
|
Verifica os dados da partição para o mesmo dia do mês anterior. |
|
|
|
Verifica a partição para o timestamp de dados atual, até o segundo do horário de agendamento. |
|
|
|
Verifica a partição para a meia-noite (00:00:00) do timestamp de dados atual. |
|
|
|
Verifica a partição para o horário uma hora antes do horário de agendamento. |
|
|
|
(Para uma partição horária) Verifica a partição da hora anterior. O formato geralmente é |
|
|
|
(Para uma partição no nível de minuto) Verifica a partição para o horário 30 minutos antes do horário de agendamento. O formato geralmente é |
|
|
|
(Para uma partição de dois níveis) Verifica todas as partições horárias do dia anterior ao timestamp de dados. |
Todas as partições de |