Tous les produits
Search
Centre de documentation

DataWorks:Configurer des règles par modèle en lot

Dernière mise à jour :Aug 10, 2026

Data Quality propose des modèles de règles de surveillance prédéfinis au niveau des tables et des champs. Au lieu de créer des règles à partir de zéro, sélectionnez un modèle et appliquez-le à plusieurs tables ou champs simultanément. Cette approche est particulièrement utile lorsque vous devez appliquer des contrôles de qualité cohérents à de nombreuses tables dans un entrepôt de données volumineux.

Sources de données prises en charge

Les modèles prennent en charge les règles de surveillance pour les sources de données suivantes : MaxCompute, E-MapReduce (EMR), Hologres, CDH Hive, AnalyticDB for PostgreSQL, AnalyticDB for MySQL, StarRocks, MySQL, Lindorm, SQL Server et Data Lake Formation (DLF).

Prérequis : choisissez votre approche

Utilisez ce tableau pour déterminer l'approche de configuration adaptée avant de commencer.

Décision Option A Option B
Que souhaitez-vous vérifier ? Une table entière (nombre de lignes, taux de valeurs nulles, doublons) Un champ spécifique (distribution des valeurs, unicité, format)
Type de modèle à sélectionner Table-Level Field-Level
Connaissez-vous la plage de données attendue ? Oui — définissez les seuils manuellement Non — laissez le système apprendre à partir des données historiques
Méthode de comparaison à utiliser Manual Settings Intelligent Dynamic Threshold
Le seuil dynamique intelligent (Intelligent Dynamic Threshold) est uniquement disponible pour les règles basées sur des instructions SQL personnalisées, des plages personnalisées ou un seuil dynamique.

Fonctionnement

La configuration des règles de surveillance à partir d'un modèle s'effectue en trois étapes :

  1. Select a template and configure rule parameters — Choisissez un modèle intégré Table-Level ou Field-Level et définissez la méthode de comparaison ainsi que les seuils qui déterminent ce qu'est une « donnée valide ».

  2. Ajouter des tables ou des champs en lot — Sélectionnez toutes les tables ou tous les champs auxquels la règle doit s'appliquer.

  3. Associer la règle à un moniteur de qualité — Un moniteur de qualité définit le périmètre des données (par exemple, une partition spécifique d'une table partitionnée) et lie la règle à un nœud de planification qui déclenche automatiquement les vérifications.

Étape 1 : Accéder à la page Configurer par modèle

  1. Connectez-vous à la console DataWorks. Dans la barre de navigation supérieure, sélectionnez la région cible. Dans le volet de navigation de gauche, cliquez sur Data Governance > Data Quality. Sélectionnez l'espace de travail cible dans la liste déroulante, puis cliquez sur Go to Data Quality.

  2. Dans le volet de navigation de gauche, cliquez sur Configure Rules > Configure by Template. Data Quality affiche les modèles de règles intégrés Table Level et Field Level. Cliquez sur Configure Monitoring Rules pour le modèle que vous souhaitez utiliser.

    image

Étape 2 : Configurer les propriétés de la règle

Sur la page Batch Add Monitoring Rules, configurez les paramètres suivants.

Attributs de base

Paramètre Description
Data Source Type Le type de source de données des tables couvertes par cette règle. Consultez la section Sources de données prises en charge pour la liste complète.
Rule Source Affiche Built-in Template et le nom du modèle sélectionné. Ce champ est en lecture seule. Pour la liste complète des modèles disponibles, consultez la rubrique Afficher les modèles de règles intégrés.
Template Le modèle sélectionné.
Rule Name Généré automatiquement. Ajustez le suffixe du nom si nécessaire.

Propriétés avancées

Choisir une méthode de comparaison

Méthode Quand l'utiliser Fonctionnement des seuils
Manual Settings Vous connaissez la plage de données attendue ou les limites de fluctuation Pour les résultats numériques, comparez avec une valeur fixe attendue à l'aide d'un opérateur de comparaison. Définissez un seuil normal (plage attendue) et un seuil rouge (violation critique). Pour les vérifications basées sur les fluctuations, utilisez Absolute Value, Raise ou Drop comme méthode de comparaison, et configurez le seuil normal.
Intelligent Dynamic Threshold Vous ne savez pas quels seuils définir Le système détermine automatiquement le seuil raisonnable grâce à des algorithmes intelligents. Aucune définition manuelle des seuils n'est requise. Les alertes se déclenchent ou les tâches sont bloquées immédiatement dès qu'une anomalie est détectée. Configurez le seuil orange pour définir la plage des résultats anormaux mais non critiques.
Le seuil dynamique intelligent (Intelligent Dynamic Threshold) est uniquement disponible pour les règles basées sur des instructions SQL personnalisées, des plages personnalisées ou un seuil dynamique.

Configurer le degré d'importance

Valeur Effet en cas de dépassement du seuil rouge
Strong rules Le nœud de planification associé est bloqué par défaut, ce qui empêche l'exécution des tâches en aval.
Weak rules Le nœud de planification associé n'est pas bloqué. Une alerte est envoyée, mais les tâches en aval continuent de s'exécuter.

Configure monitoring thresholds

  • Si la Comparison Method est définie sur Manual Settings :

    • Normal Threshold : Le résultat du contrôle de qualité des données satisfait la condition spécifiée, ce qui signifie que les données produites sont conformes aux attentes.

    • Red Threshold : Le résultat du contrôle de qualité des données satisfait la condition spécifiée, ce qui signifie que les données produites ne sont pas conformes aux attentes.

    • Pour les résultats numériques, comparez avec une valeur fixe à l'aide des opérateurs suivants : Greater Than, Greater Than Or Equal To, Equal To, Not Equal To, Less Than ou Less Than Or Equal To.

    • Pour les vérifications basées sur les fluctuations, utilisez Absolute Value, Raise ou Drop comme méthode de comparaison.

  • Si la Comparison Method est définie sur Intelligent Dynamic Threshold :

    • Orange Threshold : Le résultat du contrôle de qualité des données satisfait la condition spécifiée, ce qui signifie que les données sont anormales, mais que votre activité n'est pas impactée.

Status : Définissez sur Enable pour permettre l'exécution de la règle en production. Si vous définissez sur Disable, la règle ne peut pas s'exécuter en mode test ni être déclenchée par les nœuds de planification.

Important

La désactivation d'une règle empêche son exécution aussi bien dans les environnements de test que de production.

Cliquez sur Next pour accéder à la page Generate Monitoring Rule.

Étape 3 : Ajouter des tables ou des champs

Selon le type de modèle que vous avez sélectionné, ajoutez les tables ou les champs que vous souhaitez vérifier.

Ajouter des tables (modèle de règle Table-Level)

  1. Cliquez sur Add Table. Sur la page Batch Create, sélectionnez les tables à ajouter.

    La liste affiche toutes les tables correspondant au Data Source Type configuré à l'étape précédente. Filtrez par Table Name si nécessaire.
  2. Cliquez sur Confirm pour ajouter les tables sélectionnées à la liste Tables for Which You Want to Configure Rules.

Ajouter des champs (modèle de règle Field-Level)

  1. Cliquez sur Add Fields. Dans la boîte de dialogue Select a field, sélectionnez la table contenant le champ cible.

    La zone Tables to Be Selected répertorie les tables en fonction du Data Source Type configuré à l'étape précédente.
  2. Une fois la table sélectionnée, la section Select Fields affiche tous les champs de cette table. Filtrez par Field Name ou Field Description si nécessaire.

    image

  3. Sélectionnez le champ et cliquez sur Create. Le champ apparaît dans la liste Fields for Which You Want to Configure Rules.

Étape 4 : Associer un moniteur de qualité

Un moniteur de qualité définit le périmètre des données (la plage de données, telle qu'une partition spécifique) et les paramètres de déclenchement du contrôle de qualité. Associez chaque table ou champ à un moniteur de qualité.

Configuration en lot

  1. Sélectionnez une ou plusieurs tables ou champs, puis cliquez sur Configure Monitor.

    image

  2. Choisissez l'une des actions groupées suivantes :

    • Automatically Associate : Associe automatiquement les tables ou champs sélectionnés aux moniteurs de qualité existants.

    • Disassociate : Supprime l'association avec le moniteur de qualité pour les tables ou champs sélectionnés.

    • Batch Add : Crée de nouveaux paramètres de moniteur de qualité pour les tables sélectionnées. Configurez les éléments suivants :

      Élément de configuration Description
      Data Range La partition ou le périmètre de données à vérifier. Pour les tables non partitionnées, utilisez une clause WHERE pour limiter le périmètre (ou laissez vide pour vérifier toutes les données). Pour les tables partitionnées, utilisez le format Partition key=Partition value. La valeur de partition peut être une constante ou une expression de filtre de partition intégrée.
      Trigger Method Triggered by Node Scheduling in Production Environment : Les vérifications s'exécutent automatiquement après l'achèvement du nœud de planification associé dans Operation Center. Les nœuds de test à blanc (dry-run) ne déclenchent pas les vérifications. Triggered Manually : Les vérifications s'exécutent uniquement lors d'un déclenchement manuel.
      Associated Scheduling Node Disponible lorsque la Trigger Method est définie sur Triggered By Node Scheduling In Production Environment. Sélectionnez les nœuds de planification à associer au moniteur.
      Running Resources Les ressources de calcul utilisées pour exécuter la règle. Par défaut, il s'agit de la source de données de la table surveillée dans l'espace de travail actuel. Si vous sélectionnez une autre source de données, assurez-vous qu'elle peut accéder à la table surveillée.
    Important

    Pour les tables autres que MaxCompute avec l'option Triggered By Node Scheduling In Production Environment sélectionnée, n'associez pas de nœuds de planification s'exécutant sur le groupe de ressources partagé pour la planification. Cela pourrait provoquer des erreurs lors de l'exécution du moniteur.

Configuration par table unique

  1. Dans la colonne Quality Monitoring située à côté de la table ou du champ cible, sélectionnez un moniteur de qualité existant ou cliquez sur New Quality Monitoring pour en créer un.

    image

  2. Si aucun moniteur n'existe, cliquez sur Create Monitor et configurez les éléments suivants :

    Configurations de base

    Paramètre Description
    Monitor Name Le nom du moniteur.
    Quality Monitoring Owner Le propriétaire du moniteur. Lors de la configuration des abonnements aux alertes, spécifiez le propriétaire comme destinataire en utilisant Email, Email and SMS ou Telephone.
    Monitored Object La table à vérifier. Par défaut, il s'agit de la table actuelle.
    Data Range La partition ou le périmètre de données à vérifier. Pour les tables non partitionnées, toutes les données sont vérifiées par défaut. Pour les tables partitionnées, utilisez le format Partition key=Partition value. La valeur de partition peut être une constante ou une expression de filtre de partition intégrée. >
    Remarque

    Pour les règles basées sur des modèles personnalisés ou des instructions SQL personnalisées, la Data Range n'a aucun effet. La partition est déterminée par l'instruction SQL dans la règle.

    Monitoring Rule Les règles de surveillance à associer à ce moniteur. Si aucune règle n'existe encore, ignorez ce champ et ajoutez des règles après la création du moniteur.

    Paramètres d'exécution

    Paramètre Description
    Trigger Method Identique à la configuration en lot.
    Associated Scheduling Node Identique à la configuration en lot.
    Running Resources Identique à la configuration en lot.

    Politiques de gestion

    Paramètre Description
    Quality Issue Handling Policies Blocks : Si un problème de qualité des données est détecté, le nœud de planification qui génère la table passe à l'état Failed, bloquant ainsi les nœuds en aval. Valeur par défaut : Strong rules · Red anomaly. Alert : Envoie des notifications d'alerte lorsqu'un problème est détecté. Valeurs par défaut : 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 Canaux de notification : Email, Email and SMS, DingTalk Chatbot, DingTalk Chatbot @ALL, Lark Group Chatbot, Enterprise WeChat Robot, Custom Webhook ou Telephone. Pour les chatbots DingTalk, Lark ou WeChat, ajoutez le bot et copiez l'URL du webhook dans le champ Destinataire. L'option Custom Webhook est disponible uniquement dans l'édition Enterprise de DataWorks. Consultez la section Annexe : Format des messages Webhook pour le format du message. Lorsque vous utilisez Email, Email and SMS ou Telephone, définissez le destinataire sur Data Quality Monitoring Owner (le propriétaire défini dans les configurations de base), Shift Schedule (la personne de garde selon le planning) ou Scheduling Task Owner (le propriétaire du nœud de planification associé).
  3. Après avoir créé le moniteur, revenez à la page des règles de surveillance en lot et cliquez sur Refresh. Ensuite, sélectionnez le moniteur que vous venez de créer dans la colonne Quality Monitoring.

    image

Étape 5 : Tester et finaliser

Cliquez sur Generate Monitoring Rule pour ouvrir la page Verify Monitoring Rule. À partir de cette page :

  • Test Run : Sélectionnez une ou plusieurs règles et cliquez sur Test Run. Dans la boîte de dialogue, sélectionnez un Data Timestamp (l'heure de déclenchement simulée). Le système calcule les valeurs de partition en fonction de l'heure spécifiée et de la Data Range, puis vérifie si les données respectent la règle configurée. Une fois le test terminé, cliquez sur Running Records dans la colonne Actions pour afficher les résultats.

    image

  • Subscriptions : Configurez les destinataires des alertes et les canaux de notification. Consultez les options de méthode d'alerte à l'étape 4.

  • Associated Scheduling : Liez les règles aux nœuds de planification. Utilisez Use Recommended Running Mode pour laisser le système associer automatiquement les règles aux nœuds recommandés en fonction de la lignée des données, ou utilisez Manually Specify Running Mode pour associer manuellement les règles à des nœuds spécifiques.

    Important

    Une règle doit être associée à un nœud de planification pour être déclenchée automatiquement.

  • View Rule Details : Cliquez sur View Rule Details dans la colonne Actions pour ouvrir la page de détails d'une règle, où vous pouvez modifier, démarrer, arrêter ou supprimer la règle et consulter les journaux.

  • Delete : Supprimez une ou plusieurs règles sélectionnées.

Une fois le test réussi et la planification associée, cliquez sur Complete Check.

Étapes suivantes

Une fois le moniteur exécuté, accédez à Quality O&M dans le volet de navigation de gauche, puis cliquez sur Monitor > Running Records pour afficher l'état du contrôle de qualité et l'historique complet des vérifications de règles pour les tables surveillées.

Annexe : Format des messages Webhook

Cette section décrit le format des messages et les paramètres des notifications d'alerte envoyées via un Custom Webhook.

Exemple de message

{
  "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
        }
      ]
    }
  ]
}

Description des paramètres

Paramètre Type Exemple Description
ProjectName String autotest Le nom de l'instance de moteur de calcul ou de la source de données surveillée.
actualExpression String ds=20200925 La partition dans la table de la source de données surveillée.
RuleChecks Array Une liste des résultats de validation.
BlockType Integer 1 Force de la règle. 1 = Règle forte. 0 = Règle faible. Les règles fortes bloquent les tâches de planification lorsque le seuil critique est dépassé.
WarningThreshold Float 0.1 Seuil d'avertissement. Indique l'écart acceptable par rapport à la valeur attendue.
Property String type La colonne de la table de la source de données que la règle vérifie.
TableName String dual Le nom de la table validée.
Comment String La description de la règle de validation.
CheckResultStatus Integer 2 L'état du résultat du contrôle.
TemplateName String Compare number of unique field values against expectation Le nom du modèle de validation.
CheckerName String fulx Le nom du vérificateur.
RuleId Long 123421 L'ID de la règle.
FixedCheck Boolean false Indique si une valeur fixe est utilisée pour le contrôle. true : valeur fixe. false : aucune valeur fixe.
Op String > L'opérateur de comparaison.
UpperValue Float 22200 La limite supérieure prédite, générée automatiquement en fonction du seuil configuré.
ActualExpression String ds=20200925 La partition réelle dans la table de la source de données qui a été vérifiée.
ExternalId String 123112232 L'ID du nœud pour la tâche planifiée.
TimeCost String 10 La durée de la tâche de vérification.
Trend String up La tendance des résultats de surveillance.
ExternalType String CWF2 Le type de système de mappage CDN. Seul CWF est pris en charge.
BizDate Long 1600704000000 L'horodatage des données. Pour les données hors ligne, il s'agit généralement de la veille du jour où le contrôle s'exécute.
CheckResult Integer 2 Le résultat de la vérification.
MatchExpression String ds=$[yyyymmdd] L'expression de filtre de partition.
CheckerType Integer 0 Le type du vérificateur.
ProjectName String autotest Le nom du moteur de calcul ou de la source de données pour le contrôle de qualité des données.
BeginTime Long 1600704000000 L'heure de début de l'opération de vérification.
DateType String YMD Le type de cycle de planification. YMD indique les tâches annuelles, mensuelles et quotidiennes.
CriticalThreshold Float 0.6 Le seuil critique. Indique le degré d'écart par rapport à la valeur attendue. Si une règle forte dépasse ce seuil, les tâches de planification sont bloquées.
IsPrediction Boolean false Indique si le résultat est une prédiction. true : prédiction. false : pas une prédiction.
RuleName String Le nom de la règle.
CheckerId Integer 7 L'ID du vérificateur.
DiscreteCheck Boolean true Indique si la validation discrète est activée. true : discret. false : non discret.
EndTime Long 1600704000000 L'heure de fin de la requête des résultats de vérification.
MethodName String max La méthode utilisée pour collecter les données d'échantillon. Valeurs prises en charge : 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.
LowerValue Float 2344 La limite inférieure prédite, générée automatiquement en fonction du seuil configuré.
EntityId Long 14534343 L'ID de l'expression de filtre de partition.
WhereCondition String type!='type2' La condition de filtre pour la tâche de validation.
ExpectValue Float 90 La valeur attendue.
TemplateId Integer 5 L'ID du modèle de validation.
TaskId String 16008552981681a0d6**** L'ID de la tâche de vérification.
Id Long 2231123 L'ID de clé primaire.
ReferenceValue Array Valeurs d'échantillon historiques.
DiscreteProperty String type1 Valeurs du champ d'échantillon groupées par GROUP BY. Par exemple, un regroupement par genre renvoie Male, Female et null.
Value Float 20 La valeur de l'échantillon.
BizDate String 1600704000000 L'horodatage des données. Pour les données hors ligne, il s'agit généralement de la veille du jour où le contrôle s'exécute.
SingleCheckResult Integer 2 Le résultat de la vérification pour un contrôle unique.
Threshold Float 0.2 La valeur du seuil.
SampleValue Array Valeurs d'échantillon actuelles.
Open Boolean true Indique si la règle est activée.