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

DataWorks:データ品質のモニタリングルールの設定

最終更新日:Mar 26, 2026

Data Quality を使用して、ユーザープロファイルパイプライン内のダーティデータおよびソースデータの変更を、ダウンストリーム処理に到達する前に検出します。

前提条件

開始する前に、以下のチュートリアルを順に完了していることを確認してください。

  • データの同期 — Data Integration を使用して、ApsaraDB RDS for MySQL の ods_user_info_d および Object Storage Service (OSS) の user_log.txt を MaxCompute テーブルに同期します

  • データの処理 — DataStudio で同期済みデータを基本的なユーザープロファイルデータに処理します

背景情報

Data Quality は、構成されたルールに基づいて MaxCompute テーブルをモニタリングし、以下のような質問への回答を支援します。

  • 本日の同期ジョブは、期待されるパーティションにデータを書き込みましたか?

  • 結果テーブルにおける行数の変動は、トラフィックのアノマリーを示唆していますか?

  • ダウンストリーム集約を破損させる可能性のある重複したプライマリキーが存在しますか?

ルール違反が検出された場合、Data Quality は、構成したルールの種類に応じて、スケジューリングノードをブロック(ダーティデータの伝播を防止)またはアラート通知を送信します。

ルールの種類と違反時の応答:

ルールの種類重大しきい値を超えた場合その他の例外
強制ルールノードのステータスが「失敗」に設定され、子孫ノードがブロックされますアラート通知が送信されます
弱ルール重大アラートが送信されますが、子孫ノードはブロックされませんアラート通知が送信されます

このチュートリアルでは、ユーザープロファイルパイプライン内の以下の 3 つのテーブルについて、モニタリングルールを設定します。

テーブルモニタリング要件
ods_raw_log_d_odps日次非ゼロ行数チェック(強制ルール)
ods_user_info_d_odps日次非ゼロ行数チェック(強制ルール)+プライマリキーの一意性チェック(弱ルール)
dwd_log_info_di_odpsルール不要
dws_user_info_all_di_odpsルール不要
ads_user_info_1d_odps7 日間行数変動率チェック(弱ルール)+非ゼロ行数チェック(強制ルール)

テーブル別設定ページを開く

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

  2. Data Quality ページの左側ナビゲーションウィンドウで、ルールの設定 > テーブル別設定 を選択します。

  3. 「テーブル別設定」ページで、以下の設定を使用してテーブルをフィルターします。

    • 接続:MaxCompute

    • MaxCompute カテゴリ:本番環境の現在のプロジェクトを選択します(このチュートリアルでは workshop2024_01 を使用)

  4. 右側で、ods_raw_log_d_odpsods_user_info_d_odps、および ads_user_info_1d_odps の各テーブルを検索します。各テーブルの [操作] 列で モニターの作成 をクリックし、「テーブル品質詳細」ページを開きます。

ods_raw_log_d_odps のモニタリングルールの設定

ods_raw_log_d_odps テーブルは、OSS から同期された Web サイトのアクセスログを格納します。非ゼロ行数チェックにより、ダウンストリーム処理開始前に同期ジョブが正常にデータを書き込んだことを保証します。

ステップ 1:モニターの作成

モニターは、どのパーティションをチェックするか、およびチェックをトリガーする条件を定義します。

  1. モニター タブで、モニターの作成 をクリックします。

  2. 以下のパラメーターを設定します。

    全パラメーターの詳細については、「単一テーブルのモニタリングルールの設定」をご参照ください。
    パラメーター
    データ範囲dt=$[yyyymmdd-1]
    トリガー方法本番環境でのノードスケジューリングによるトリガー — データ同期ods_raw_log_d_odps
    モニタリングルール空欄のままにしてください。ルールは次のステップで追加します。

ステップ 2:モニタリングルールの作成

  1. ルール管理 タブの モニターの視点 セクションで、raw_log_number_of_table_rows_not_0 モニターを選択し、ルールの作成 をクリックします。

  2. システムテンプレート タブで、「テーブルが空でない」ルールを見つけ、使用 をクリックします。

  3. ペイン右側で、重要度強制ルール に設定します。

    強制ルールの場合、対象パーティションの行数が 0 の場合、Data Quality はアラートを発行し、ods_raw_log_d_odps ノードのステータスを「失敗」に設定し、すべての子孫ノードをブロックします。
  4. 決定 をクリックします。

    その他のルールパラメーターについては、「単一テーブルのモニタリングルールの設定」をご参照ください。

ステップ 3:テスト実行

テストを実行して、ルール設定が期待通りに機能することを検証します。

  1. モニターの視点 セクションで、raw_log_number_of_table_rows_not_0 モニターを選択し、テスト実行 をクリックします。

  2. テスト実行 ダイアログボックスで、スケジューリング時刻 を設定し、テスト実行 をクリックします。

  3. テストが完了したら、詳細の表示 をクリックして、データがチェックを通過したかどうかを確認します。

ステップ 4:アラートのサブスクライブ

ルール違反が検出された際にアラート通知を受信できるよう、モニターをサブスクライブします。

  1. モニターの視点 セクションで、raw_log_number_of_table_rows_not_0 モニターを選択し、アラートのサブスクライブ をクリックします。

  2. アラートのサブスクライブ ダイアログボックスで、通知方法 および 受信者 を設定し、保存 をクリックします。

  3. すべてのサブスクライブ済みモニターを表示するには、左側ナビゲーションウィンドウで 品質 O&M > モニター を選択し、マイサブスクリプション を選択します。

ods_user_info_d_odps のモニタリングルールの設定

ods_user_info_d_odps テーブルは、ApsaraDB RDS for MySQL から同期された基本的なユーザーデータを格納します。2 つのルールが適用されます:空パーティションを検出するための強制ルール、およびプライマリキーの一意性をチェックするための弱ルールです。

ステップ 1:モニターの作成

  1. モニター タブで、モニターの作成 をクリックします。

  2. 以下のパラメーターを設定します。

    全パラメーターの詳細については、「単一テーブルのモニタリングルールの設定」をご参照ください。
    パラメーター
    データ範囲dt=$[yyyymmdd-1]
    トリガー方法本番環境でのノードスケジューリングによるトリガー — データ同期ods_user_info_d_odps
    モニタリングルール空欄のままにしてください。ルールは次のステップで追加します。

ステップ 2:モニタリングルールの作成

  1. ルール管理 タブの モニターの視点 セクションで、user_info_quality_control モニターを選択し、ルールの作成 をクリックします。

  2. システムテンプレート タブで、「テーブルが空でない」ルールを見つけ、使用 をクリックします。その後、重要度強制ルール に設定します。

    対象パーティションの行数が 0 の場合、Data Quality はアラートを発行し、ods_user_info_d_odps ノードのステータスを「失敗」に設定し、すべての子孫ノードをブロックします。
  3. システムテンプレート タブで、「一意の値(固定値)」ルールを見つけ、使用 をクリックします。以下の設定を行います。

    • ルールの範囲uid(STRING)

    • モニタリングしきい値:通常しきい値について、比較演算子を =、値を 0 に設定

    • 重要度:弱ルール

  4. 決定 をクリックします。

    その他のルールパラメーターについては、「単一テーブルのモニタリングルールの設定」をご参照ください。

ステップ 3:テスト実行およびアラートのサブスクライブ

ods_raw_log_d_odps に対して説明した「ステップ 3:テスト実行」および「ステップ 4:アラートのサブスクライブ」と同じ手順を、user_info_quality_control モニターを使用して実行します。

ads_user_info_1d_odps のモニタリングルールの設定

ads_user_info_1d_odps テーブルは、ユーザープロファイル分析の最終結果テーブルです。2 つのルールが適用されます:予期しないトラフィック変化を検出するための 7 日間行数変動率モニタリング(弱ルール)、およびテーブルが空でないことを確認するための非ゼロ行数チェック(強制ルール)です。

変動率ルールが検出する内容:

アラートレベル条件応答
通常7 日間の行数変化率 ≤ 10 %処置なし
オレンジアラート7 日間の行数変化率 > 10 %アラート通知が送信されます
レッドアラート7 日間の行数変化率 > 50 %アラート通知が送信されます
変動率ルールは弱ルールであるため、レッドしきい値を超えた場合でも、重大アラートのみが送信され、子孫ノードはブロックされません。

ステップ 1:モニターの作成

  1. モニター タブで、モニターの作成 をクリックします。

  2. 以下のパラメーターを設定します。

    全パラメーターの詳細については、「単一テーブルのモニタリングルールの設定」をご参照ください。
    パラメーター
    データ範囲dt=$[yyyymmdd-1]
    トリガー方法本番環境でのノードスケジューリングによってトリガーされます — データ同期ads_user_info_1d_odps
    モニタリングルール空欄のままにしてください。ルールは次のステップで追加します。

ステップ 2:モニタリングルールの作成

  1. ルール管理 タブの モニターの視点 セクションで、ads_user_info_quality_control モニターを選択し、ルールの作成 をクリックします。

  2. システムテンプレート タブで、「行数(7 日間変動率)」ルールを見つけ、使用 をクリックします。以下の設定を行います。

    • モニタリングしきい値

      • レッドしきい値:比較演算子 >、値 50%

      • オレンジしきい値:比較演算子 >、値 10%

      • 通常しきい値:比較演算子 <=、値 10%

    • 重要度:弱ルール

  3. システムテンプレート タブで、「テーブルが空でない」ルールを見つけ、使用 をクリックします。重要度強制ルール に設定します。

  4. 決定 をクリックします。

    その他のルールパラメーターについては、「単一テーブルのモニタリングルールの設定」をご参照ください。

ステップ 3:テスト実行およびアラートのサブスクライブ

ods_raw_log_d_odps に対して説明した「ステップ 3:テスト実行」および「ステップ 4:アラートのサブスクライブ」と同じ手順を、ads_user_info_quality_control モニターを使用して実行します。

次のステップ

データ品質モニタリングを導入した後は、DataAnalysis を使用して処理済みのユーザープロファイルデータを可視化できます。詳細については、「データの可視化」をご参照ください。