すべてのプロダクト
Search
ドキュメントセンター

DataWorks:テンプレートによるルールの一括設定

最終更新日:Feb 04, 2026

Data Quality には、事前に定義済みのテーブルレベルおよびフィールドレベルの監視テンプレートが用意されています。このトピックでは、テンプレートを使用して監視ルールを設定する方法について説明します。

制限事項

テンプレートを使用した監視ルールの設定は、MaxCompute、EMR、Hologres、CDH Hive、AnalyticDB for PostgreSQL、AnalyticDB for MySQL、StarRocks、MySQL、Lindorm、SQL Server、および DLF のデータソースに対して行えます。

設定フロー

テンプレートを使用して品質ルールを設定する手順は、以下のとおりです。

  1. ルールテンプレートを選択し、ルールパラメーターを設定します

    組み込みテンプレートは、テーブルレベルルールテンプレートとフィールドレベルルールテンプレートに分類されます。テンプレートを選択すると、Data Quality ルールのチェック方法を定義できます。このルールでは、チェック対象としてテーブルを指定します。Data Quality ルールは、テーブルデータをチェックする具体的な方法を定義し、期待値を満たしているかどうかを判断します。

  2. ルールチェックが必要なテーブルまたはフィールドを一括で追加します

    チェック対象のテーブルまたはフィールドを一括で選択し、ルールテンプレートを適用できます。

  3. ルールを新規または既存のモニターに関連付けます

    品質ルールを特定のオブジェクト(例:パーティションテーブルの特定のパーティションなど、テーブルのデータ範囲)に対する品質モニターに関連付けることで、そのデータに対して実行する品質チェックを定義できます。

操作手順

ステップ 1. 「テンプレートによる設定」ページに移動します

  1. DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、[データガバナンス] > [Data Quality] を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[Data Quality に移動] をクリックします。

  2. 左側ナビゲーションウィンドウで、ルールの設定 > テンプレートによる設定を選択します。

    Data Quality には、組み込みのテーブルレベルおよびフィールドレベルのルールテンプレートが用意されています。監視ルールの設定をクリックすると、複数のテーブルまたはフィールドに対して同時にルールを設定できます。

    image

ステップ 2. 監視ルールのプロパティを設定します

  1. 複数のテーブルまたはパーティションに一括適用するテンプレートを選択し、監視ルールの設定操作列でクリックして、監視ルールの一括追加ページを開きます。

  2. 監視ルールの基本属性を設定します。

    パラメーター

    説明

    データソースタイプ

    この監視ルールを適用するテーブルのデータソースタイプを選択します。

    説明

    テンプレートを使用した監視ルールの設定は、MaxCompute、EMR、Hologres、CDH Hive、AnalyticDB for PostgreSQL、AnalyticDB for MySQL、StarRocks、MySQL、Lindorm、SQL Server、および DLF のデータソースに対して行えます。

    ルールソース

    組み込みテンプレートおよび選択したルールテンプレートが表示されます。この設定は変更できません。その他の組み込みルールテンプレートについては、「組み込みルールテンプレートの確認」をご参照ください。

    テンプレート

    ルール名

    システムによりルール名が自動生成されます。必要に応じて、名前の末尾を調整できます。

  3. 監視ルールの高度なプロパティを設定します。

    パラメーター

    説明

    重要度

      比較方法

        監視しきい値

          ステータス

          重要
        • 次へをクリックして、監視ルールの生成ページに進みます。

        ステップ 3. チェック対象の複数テーブルまたはフィールドを追加します

        選択したテーブルレベルルールテンプレートまたはフィールドレベルルールテンプレートに基づき、ルールチェック用のテーブルまたはフィールドを一括で追加できます。

        テーブルの追加

        1. テーブルの追加をクリックします。一括作成ページで、ルールを設定するテーブルを選択します。

          説明

          リストには、前ステップの基本属性セクションで設定したデータソースタイプに一致するすべてのテーブルが表示されます。テーブル名を入力して結果を絞り込むこともできます。

        2. テーブルを選択後、確認をクリックして、ルールを設定するテーブルリストに追加します。

        フィールドの追加

        1. フィールドの追加をクリックします。フィールドの選択ダイアログボックスで、監視ルールを設定するフィールドを含むテーブルを選択します。

          説明

          [選択するテーブル] エリアには、前のステップの [基本属性] セクションで設定した [データソースタイプ] に基づいて、利用可能なテーブルが一覧表示されます。

        2. テーブルを選択すると、フィールドの選択セクションにそのテーブルのすべてのフィールドが表示され、フィールド名およびフィールドの説明でフィルターできます。

          image

        3. 監視ルールを設定するフィールドを選択し、作成をクリックします。フィールドはルールを設定するフィールドリストに追加されます。

        ステップ 4. 品質モニターの作成または関連付けを行います

        品質ルールを品質モニターに関連付けることで、オブジェクトデータに対してどの品質ルールを使用するかを定義できます。オブジェクトとは、チェック対象テーブルの特定のタイムスタンプ範囲(例:パーティションテーブルの特定のパーティション)を指します。

        モニターは個別または一括で設定できます。

        一括設定

        1. ルールを追加する 1 つ以上のテーブルまたはフィールドを選択後、モニターの設定をクリックします。

          image

        2. 一括での自動関連付け、一括関連付け解除、および一括追加を実行できます。

          • 自動関連付け:選択したテーブルまたはフィールドを、既存の品質モニタリングに自動的に関連付けます。

          • 関連付け解除:選択したテーブルまたはフィールドの品質モニタリングをキャンセルします。

          • 一括追加:選択したテーブルに対して品質モニタリングのデータ範囲および実行設定を構成します。

            設定項目

            備考

            データ範囲

            パーティションフィルター式を使用して、品質ルールでチェックするパーティションを定義します。

            • 非パーティションテーブルの場合、デフォルトでテーブル全体がチェックされます。WHERE 句を使用して範囲を指定できます。

            • パーティションテーブルの場合、式の形式はpartition_name=partition_valueです。パーティション値は静的フィールド、または付録 2 の組み込みパーティションフィルター式のいずれかになります。

            実行設定

            トリガー方法

              重要

              関連付けられたスケジューリングノード

              トリガー方法パラメーターを本番環境でのノードスケジューリングによってトリガーに設定した場合、このパラメーターを設定してモニターに関連付けるスケジューリングノードを選択できます。スケジューリングノードの実行が完了すると、モニターに関連付けられたルールが自動的にトリガーされます。

              実行リソース

              品質ルールチェックの実行に必要なコンピューティングリソースです。デフォルトでは、ワークスペース内の監視対象テーブルのデータソースが選択されます。別のデータソースを選択する場合は、対応するリソースがテーブルにアクセスできることを確認してください。

          単一テーブル設定

          1. 対象テーブルまたはフィールドの右側にある品質モニタリング列で、品質ルールを品質モニタリングジョブに関連付けられます。既存の品質モニタリングジョブを選択するか、新規品質モニタリングをクリックして新しいジョブを作成します。image

          2. モニターが利用できない場合は、モニターの作成をクリックして作成できます。以下の表にパラメーターを示します。

            設定項目

            パラメーター

            説明

            基本設定

            モニター名

            監視ルールのカスタム名を入力します。

            品質モニタリングオーナー

            必要に応じてモニターのオーナーを指定できます。アラートサブスクリプションを設定する際、メールメールおよび SMS、または電話を使用して、モニターのオーナーをアラート受信者として指定できます。

            監視対象

            データ品質チェックの対象となるオブジェクトです。デフォルトでは現在のテーブルになります。

            データ範囲

            パーティションフィルター式を使用して、品質ルールでチェックするパーティションを定義します。

            • 非パーティションテーブルの場合、このパラメーターを設定する必要はありません。デフォルトでテーブル内のすべてのデータがチェックされます。

            • パーティションテーブルの場合、式の形式はpartition_name=partition_valueです。パーティション値は静的フィールド、または付録 2 の組み込みパーティションフィルター式のいずれかになります。

            説明

            カスタムテンプレートまたはカスタム SQL を使用してルールを設定する場合、この設定は有効になりません。カスタムテンプレートまたはカスタム SQL で設定されたルールでは、チェック対象のパーティションはカスタム SQL によって決定されます。

            監視ルール

            監視ルール

            品質モニタリングジョブに品質ルールを関連付けて、現在のタイムスタンプ範囲のデータが期待値を満たしているかどうかをチェックするルールを決定します。

            説明
            • 異なるパーティションに対して複数の品質モニタリングジョブを作成し、それぞれに異なる品質ルールを関連付けることで、異なるパーティションに異なる検証ルールを適用できます。

            • まだ品質ルールを作成していない場合は、このステップをスキップできます。まず品質モニタリングジョブを作成し、後でルールを追加してください。品質ルールの作成方法の詳細については、「3. Data Quality ルールの設定」をご参照ください。

            実行設定

            トリガー方法

            モニターのトリガー方法です。

            • 本番環境でのノードスケジューリングによってトリガー:オペレーションセンターでモニターに関連付けられたスケジューリングノードの実行が完了すると、モニターに関連付けられたルールが自動的にトリガーされます。ドライランノードでは、監視ルールはトリガーされないことにご注意ください。

            • 手動トリガー:モニターに関連付けられた監視ルールを手動でトリガーします。

            重要

            チェック対象のデータ品質が MaxCompute 以外のテーブルであり、トリガー方法本番環境でのノードスケジューリングによってトリガーが選択されている場合、共有リソースグループで実行されるスケジューリングノードをモニターに関連付けることはできません。関連付けた場合、モニターの実行時にエラーが発生する可能性があります。

            関連付けられたスケジューリングノード

            トリガー方法パラメーターを本番環境でのノードスケジューリングによってトリガーに設定した場合、このパラメーターを設定してモニターに関連付けるスケジューリングノードを選択できます。スケジューリングノードの実行が完了すると、モニターに関連付けられたルールが自動的にトリガーされます。

            実行リソース

            品質ルールチェックの実行に必要なコンピューティングリソースです。デフォルトでは、ワークスペース内の監視対象テーブルのデータソースが選択されます。別のデータソースを選択する場合は、対応するリソースがテーブルにアクセスできることを確認してください。

            処理ポリシー

            品質問題の処理ポリシー

            データ品質の問題が検出された場合に使用するブロッキングまたはアラートポリシーを設定します。

            • ブロック:データ品質の問題が検出されると、システムはテーブルの品質チェックをトリガーした本番スケジューリングノードを特定し、そのノードを失敗状態に設定して、ダウンストリームノードの実行を停止します。これにより、問題のあるデータのパイプラインへの拡散を防ぎます。

              デフォルトは強制ルール - 重大異常です。

            • アラート:データ品質の問題が検出されると、アラートメッセージが品質モニタリングジョブのアラートサブスクリプションチャンネルに送信されます。

              デフォルトは次のとおりです:強制ルール - 重大異常強制ルール - 警告異常強制ルール - チェック失敗ソフトルール - 重大異常ソフトルール - 警告異常、およびソフトルール - チェック失敗

            通知方法の設定

            メールメールおよび SMSDingTalk チャットボットDingTalk チャットボット @ALLLark グループチャットボットEnterprise Wecha ロボットカスタム WebHook、または電話を使用してアラート通知を送信できます。

            説明
            • DingTalk チャットボット、Lark チャットボット、または WeChat チャットボットを追加し、Webhook URL を取得できます。その後、Webhook URL をアラートサブスクリプションダイアログボックスの受信者フィールドにコピーします。

            • カスタム Webhook通知方法は、DataWorks Enterprise Edition でのみサポートされています。カスタム Webhookを使用して送信されるアラート通知のメッセージ形式については、「付録:カスタム Webhook URL を使用したアラート通知のメッセージ形式」をご参照ください。

            • メールメールおよび SMS、または電話を通知方法として選択する場合、受信者としてモニターのオーナー勤怠表、またはノードのオーナーを指定できます。

              • Data Quality モニタリングオーナー:アラート情報は、現在の品質モニターの基本設定セクションで設定された品質モニタリングオーナーに送信されます。

              • 勤怠表: モニターに関連付けられたモニタリングルールがトリガーされ、アラートが生成されると、システムは勤怠表の当日の勤務担当者にアラート通知を送信します。

              • スケジューリングタスクのオーナー:アラート通知は、モニターに関連付けられたスケジューリングノードのオーナーに送信されます。

          3. 一括で監視ルールを追加するステップに戻り、更新をクリックします。その後、品質モニタリング列で、作成した品質モニタリングルールを選択します。

            image

          ステップ 5. ルールの実行をテストします

          1. 監視ルールの生成をクリックして、監視ルールの検証ページを開きます。監視ルールの検証ページでは、以下の操作を実行できます。

            • テスト実行:ルール設定が正しいことを検証します。

              ルールの作成後、1 つ以上のルールを選択してテスト実行を実行できます。テスト実行ダイアログボックスで、データタイムスタンプ(シミュレートされたトリガー時刻)を選択します。システムは、指定された時刻およびデータ範囲に基づいて、検証対象テーブルのパーティション値を計算します。テスト実行をクリックして、指定されたテーブルパーティションのデータが設定されたデータ品質ルールに準拠しているかどうかをチェックします。image

              テスト実行が完了すると、操作列の実行履歴をクリックして、詳細を確認し、関連操作を実行できます。

            • サブスクリプション:アラートの受信者です。

              説明
            • 関連付けられたスケジューリング:ルールのトリガー方法を指定します。

              推奨実行モードを使用または実行モードを手動で指定をクリックして、1 つ以上の Data Quality ルールをテーブルデータを生成するスケジューリングノードに関連付けます。オペレーションセンターでは、これらのノードには自動スケジュールされた定期インスタンス、手動でトリガーされたデータバックフィルインスタンス、およびテストインスタンスが含まれます。ノードタスクが実行されると、Data Quality ルールチェックがトリガーされます。ルールの強度を設定することで、ノードが失敗して終了するかどうかを制御し、ダーティデータの拡散を防止できます。

              • 推奨実行モード:システムは、テーブルデータを出力するノードのデータリネージに基づき、選択したルールを推奨スケジューリングノードに自動的に関連付けます。

              • 手動実行モード:選択したルールを指定したスケジューリングノードに手動で関連付けます。

              重要

              ルールは、対応するスケジューリングノードに関連付けることで、自動的にトリガーされます。

            • 削除:選択した 1 つ以上のルールを削除します。

            • ルールの詳細を表示:ルールの操作列でルールの詳細を表示をクリックして、詳細ページを開きます。このページでは、ルールの変更、開始、停止、削除、強度の指定、およびログの確認が可能です。

          2. テスト実行が成功し、スケジュールが関連付けられた後、チェック完了をクリックします。

          次のステップ

          モニターの実行後、左側ナビゲーションウィンドウで品質運用管理を選択し、モニターおよび実行履歴をクリックして、指定されたテーブルの品質チェックステータスおよび完全な品質ルールチェックレコードを確認できます。

          付録:Webhook メッセージ形式

          このセクションでは、DataWorks がカスタム Webhookを使用して送信するアラート通知のメッセージ形式およびパラメーターについて説明します。

          サンプルメッセージ

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

          パラメーターの説明

          名前

          タイプ

          サンプル値

          説明

          ProjectName

          String

          autotest

          データ品質を監視するコンピュートエンジンインスタンスまたはデータソースの名前です。

          actualExpression

          String

          ds=20200925

          監視対象データソーステーブルのパーティションです。

          RuleChecks

          RuleChecks の配列

          検証結果のリストです。

          BlockType

          Integer

          1

          検証ルールの強度です。この値はルールの重要度を示します。有効な値は以下のとおりです。

          • 1:強制ルール。

          • 0:ソフトルール。

            重要なルールは、必要に応じて強制ルールとして設定してください。強制ルールが赤色アラートをトリガーすると、スケジューリングタスクがブロックされます。

          WarningThreshold

          Float

          0.1

          警告しきい値です。この値は期待値からの偏差を示します。必要に応じてこのしきい値をカスタマイズしてください。

          Property

          String

          type

          ルールがチェックするデータソーステーブルの列です。

          TableName

          String

          dual

          検証対象のテーブル名です。

          Comment

          String

          ルールの説明です。

          検証ルールの説明です。

          CheckResultStatus

          Integer

          2

          チェック結果のステータスです。

          TemplateName

          String

          Compare number of unique field values against expectation

          検証テンプレートの名前です。

          CheckerName

          String

          fulx

          チェッカーの名前です。

          RuleId

          Long

          123421

          ルール ID です。

          FixedCheck

          Boolean

          false

          チェックに固定値を使用するかどうかを指定します。有効な値は以下のとおりです。

          • true:固定値を使用します。

          • false:固定値を使用しません。

          Op

          String

          >

          比較演算子です。

          UpperValue

          Float

          22200

          予測上限値です。しきい値を設定すると自動的に生成されます。

          ActualExpression

          String

          ds=20200925

          データソーステーブルで実際に検証されるパーティションです。

          ExternalId

          String

          123112232

          スケジュールタスクのノード ID です。

          TimeCost

          String

          10

          検証タスクの所要時間です。

          Trend

          String

          up

          監視結果の傾向です。

          ExternalType

          String

          CWF2

          CDN マッピングシステムのタイプです。CWF のみサポートされています。

          BizDate

          Long

          1600704000000

          データタイムスタンプです。チェック対象のビジネスエンティティがオフラインデータの場合、データタイムスタンプは通常、チェック実行日の前日になります。

          CheckResult

          Integer

          2

          検証結果です。

          MatchExpression

          String

          ds=$[yyyymmdd]

          パーティションフィルター式です。

          CheckerType

          Integer

          0

          チェッカーのタイプです。

          ProjectName

          String

          autotest

          データ品質チェックのコンピュートエンジンまたはデータソースの名前です。

          BeginTime

          Long

          1600704000000

          検証操作の開始時刻です。

          DateType

          String

          YMD

          スケジューリングサイクルのタイプです。通常は YMD(年次・月次・日次タスク)になります。

          CriticalThreshold

          Float

          0.6

          エラーしきい値は、期待値からの偏差の程度を示します。必要に応じてこのしきい値をカスタマイズしてください。強制ルールがエラーしきい値をトリガーすると、スケジューリングタスクがブロックされます。

          IsPrediction

          Boolean

          false

          結果が予測かどうかを指定します。有効な値は以下のとおりです。

          • true:結果は予測です。

          • false:結果は予測ではありません。

          RuleName

          String

          ルールの名前です。

          ルールの名前です。

          CheckerId

          Integer

          7

          チェッカーの ID です。

          DiscreteCheck

          Boolean

          true

          監視が離散的かどうかを指定します。有効な値は以下のとおりです。

          • true:離散的検証を有効にします。

          • false:チェックは非離散的です。

          EndTime

          Long

          1600704000000

          検証結果のクエリの終了時刻です。

          MethodName

          String

          max

          サンプルデータの収集に使用されるメソッドです。例: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

          下限予測値です。この値は、設定したしきい値に基づいて自動的に生成されます。

          EntityId

          Long

          14534343

          パーティションフィルター式の ID です。

          WhereCondition

          String

          type!='type2'

          検証タスクのフィルター条件です。

          ExpectValue

          Float

          90

          期待値です。

          TemplateId

          Integer

          5

          検証テンプレートの ID です。

          TaskId

          String

          16008552981681a0d6****

          検証タスクの ID です。

          Id

          Long

          2231123

          プライマリキーの ID です。

          ReferenceValue

          ReferenceValue の配列

          過去のサンプル値です。

          DiscreteProperty

          String

          type1

          GROUP BY 句でグループ化した結果のサンプルフィールドの値です。たとえば、Gender フィールドでグループ化する場合、DiscreteProperty の値は Male、Female、null になります。

          Value

          Float

          20

          サンプル値です。

          BizDate

          String

          1600704000000

          データタイムスタンプです。チェック対象のエンティティがオフラインデータの場合、タイムスタンプは通常、チェック実行日の前日になります。

          SingleCheckResult

          Integer

          2

          検証結果文字列です。

          Threshold

          Float

          0.2

          しきい値です。

          SampleValue

          SampleValue の配列

          現在のサンプル値です。

          DiscreteProperty

          String

          type2

          GROUP BY 句でグループ化した結果のサンプルフィールドの値です。たとえば、Gender フィールドでグループ化する場合、DiscreteProperty の値は Male、Female、null になります。

          BizDate

          String

          1600704000000

          データタイムスタンプです。検証対象のビジネスエンティティがオフラインデータである場合、値は通常、検証操作の前日になります。

          Value

          Float

          23

          サンプル値です。

          Open

          Boolean

          true

          ルールが有効かどうかを示します。