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

DataWorks:データ品質モニタリング

最終更新日:Jun 17, 2026

このトピックでは、Data Quality を使用してテーブルデータの品質を監視する方法について説明します。

前提条件

開始する前に、「データの同期」と「データの処理」で説明されているタスクを完了してください。

  • Data Integration を使用して、ApsaraDB RDS for MySQL のテーブル ods_user_info_d から MaxCompute のテーブル ods_user_info_d に基本的なユーザー情報が同期されています。

  • Data Integration を使用して、OSS の user_log.txt ファイルから MaxCompute のテーブル ods_raw_log_d に Web サイトのアクセスログが同期されています。

  • Data Studio を使用して、収集したデータが基本的なユーザーペルソナデータに変換されています。

背景情報

Data Quality は、さまざまなデータソースに対して、品質チェック、通知、管理サービスをワンストップで提供するプラットフォームです。Data Quality は、データセット内のデータを監視し、現在は MaxCompute テーブルをサポートしています。オフラインの MaxCompute データが変更されると、Data Quality はデータをチェックし、本番パイプラインをブロックしてダーティデータの拡散を防ぎます。Data Quality は、データ品質を分析および分類できる、過去のチェック結果の管理機能も提供します。

このチュートリアルでは、DataWorks の Data Quality 機能を使用して、ユーザーペルソナ分析のユースケースでソースデータの変更を迅速に検出し、ETL (抽出、変換、ロード) プロセス中に生成されるダーティデータを特定します。ユーザーペルソナの分析および処理フローに基づき、品質モニタリングのルールは次のとおりです。

テーブル名

要件詳細

ods_raw_log_d

毎日同期される生のログデータを監視し、テーブルが空でないことを確認します。これにより、無効な処理を防ぎ、問題を迅速に対処できます。

ods_user_info_d

毎日同期されるユーザー情報データをチェックします。行数がゼロでないこと (強ルール) とビジネスプライマリキーが一意であること (ソフトルール) を確認します。これにより、無効な処理を防ぎ、データの問題を早期に阻止します。

dwd_log_info_di

個別には監視されません。

dws_user_info_all_di

個別には監視されません。

ads_user_info_1d

ルールを設定して、ユーザーデータテーブルの日次行数を監視します。これにより、日次のユニークビジター (UV) の変化を追跡し、アプリケーションの状態を迅速に把握できます。

ルール設定ページへの移動

  1. データ品質ページに移動します。

    DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[データモデリングと開発] > [データ品質] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ品質に移動] をクリックします。

  2. テーブルのルール設定ページに移動します。

    Data Quality の左側メニューで、Configure Rules > Configure by Table をクリックし、次のパラメーターに基づいて対象のテーブルを特定します。

    • データソース: MaxCompute

    • データベース: 現在の本番プロジェクト (workshop2024_01)。

    • テーブル: このチュートリアルでは、ods_raw_log_dods_user_info_dads_user_info_1d テーブルの品質モニタリングを設定する必要があります。

  3. 検索結果で対象のテーブルを見つけ、Actions 列の Rule Management をクリックして、テーブルの品質詳細ページを開きます。以降のセクションで、具体的な設定について説明します。

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

ods_raw_log_d の品質モニタリングルールの設定

ods_raw_log_d テーブルは、OSS から同期されたユーザーの Web サイトアクセスレコードを受け取るために使用されます。このテーブルのビジネスプロパティに基づき、テーブルの行数が 0 でないことをチェックするルールを設定します。次に、そのルールを品質モニターに関連付けて、データ品質チェックをトリガーします。

1. 品質モニターの設定

品質モニターは、対象テーブルの指定されたデータ範囲 (パーティション) のデータが期待値を満たしているかどうかをチェックします。

このステップでは、品質モニターの Data Rangedt=$[yyyymmdd-1] に設定します。モニターが実行されると、このパーティションのデータがチェックされます。

スケジューリングタスクが ods_raw_log_d テーブルで実行されるたびに、品質モニターがトリガーされます。モニターは、関連付けられた品質ルールを使い、対応するデータ範囲のデータをチェックして、データ品質ルールを満たしているか判断します。

次の手順を実行します。

  1. テーブルの品質詳細ページで、Monitor タブをクリックし、Create Monitor をクリックします。

  2. 品質モニターを設定します。

    主なパラメーター:

    パラメーター

    設定例

    [Data Range]

    dt=$[yyyymmdd-1]

    [Trigger Method]

    本番スケジューリングによってトリガーされます。データを同期するで作成された ods_raw_log_d ノードを選択します。

    [Monitoring Rule]

    ここでは設定しません。後のセクションで設定します。

    説明

    品質モニターの設定方法の詳細については、「単一テーブルのルール設定」をご参照ください。

このチュートリアルでは、日次のスケジューリングタスクによって生成されるテーブルデータが期待値を満たしているかどうかを監視することが目標です。テーブルは前日のデータを生成するため、スケジュールされた時刻が当日で、ビジネス時刻が前日であれば、データは期待どおりと見なされます。

2. 監視ルールの設定

ods_raw_log_d テーブルは、OSS から同期された Web サイトのアクセスレコードを受け取るために使用され、ユーザーペルソナ分析のソーステーブルとして機能します。無効な処理や品質の問題を防ぐために、このテーブルの行数が 0 より大きいことをチェックする強ルールを設定します。このルールは、同期タスクがテーブルのパーティションにデータを書き込んだかどうかを判断します。

モニターが ods_raw_log_d テーブルの対応するパーティションの行数が 0 であることを検出すると、アラートがトリガーされます。その後、ods_raw_log_d ノードは失敗し、後続タスクの実行をブロックします。

  1. テーブルの品質詳細ページで、Rule Management タブをクリックします。Monitor Perspective で、作成した品質モニター (たとえば、raw_log_number_of_table_rows_not_0) を選択します。次に、ページの右側で Create Rule をクリックして、Create Rule ページを開きます。

  2. System Template セクションで、The number of rows is greater than 0. ルールを見つけ、Use をクリックし、Degree of importanceStrong rules に変更します。

    説明

    このチュートリアルでは、ルールは 強ルール として定義されています。ods_raw_log_d テーブルの行数が 0 の場合、アラートがトリガーされ、後続タスクの実行がブロックされます。

  3. Determine をクリックします。

    説明

    設定項目の詳細については、「単一テーブルのルール設定」をご参照ください。

3. 品質のモニタリングのテスト実行

テスト実行は、品質モニターのチェックルールが正しく設定されているかを検証するものです。品質ルールが正しく、期待どおりであることを確認するために、ルールの作成後に品質モニターをテスト実行します。

  1. Rule Management タブの Monitor Perspective で、作成した品質モニター (例: raw_log_number_of_table_rows_not_0) を選択します。右側の image アイコンをクリックし、次に Test Run をクリックすると、Test Run ダイアログボックスが開きます。

  2. Test Run ダイアログボックスで Data Timestamp を選択し、Test Run をクリックします。

  3. テスト実行が完了したら、画面の指示に従い、View Details をクリックしてテスト結果を確認します。

4. 品質モニタリングのサブスクリプション

Data Quality は、監視およびアラート機能を提供します。品質モニターをサブスクライブして、品質チェックの例外に関する通知を迅速に受信し、それらに対処します。これにより、データのセキュリティ、安定性、およびタイムリーな出力が保証されます。

  1. Rule Management タブの Monitor Perspective で、作成した品質モニタリングルール (例: raw_log_number_of_table_rows_not_0) を選択します。 右側で image アイコンをクリックし、Subscribe to Alerts をクリックします。

  2. 画面のプロンプトに従って、Notification MethodRecipient を追加します。次に、Actions 列で Save をクリックします。

  3. サブスクリプションを設定した後、左側メニューで Quality O&M > Monitor をクリックします。My Subscriptions を選択して、サブスクライブしたタスクを表示および変更します。

ods_user_info_d の品質モニタリングルールの設定

ods_user_info_d テーブルは、ApsaraDB RDS for MySQL から同期された基本的なユーザー情報を受け取るために使用されます。このテーブルのビジネスプロパティに基づき、テーブルの行数が 0 でないことと、ビジネスプライマリキーが一意であることをチェックするルールを設定します。次に、そのルールを品質モニターに関連付けて、データ品質チェックをトリガーします。

1. 品質モニターの設定

品質モニターは、対象テーブルの指定されたデータ範囲 (パーティション) のデータが期待値を満たしているかどうかをチェックします。

品質モニターの Data Rangedt=$[yyyymmdd-1] に設定し、前日のパーティションをチェックします。

スケジューリングタスクが ods_user_info_d テーブルで実行されるたびに、品質モニターがトリガーされます。モニターは、関連付けられた品質ルールを使い、対応するデータ範囲のデータをチェックして、データ品質ルールを満たしているか判断します。

次の手順を実行します。

  1. Monitor タブで、Create Monitor をクリックします。

  2. 品質モニターを設定します。

    主なパラメーター:

    パラメーター

    設定例

    [Data Range]

    dt=$[yyyymmdd-1]

    [Trigger Method]

    本番スケジューリングによってトリガーされます。データを同期するで作成された ods_user_info_d ノードを選択します。

    [Monitoring Rule]

    ここでは設定しません。後のセクションで設定します。

    説明

    品質モニターの設定方法の詳細については、「単一テーブルのルール設定」をご参照ください。

2. 監視ルールの設定

ods_user_info_d テーブルは、ApsaraDB RDS for MySQL から同期された基本的なユーザー情報を受け取るために使用され、ユーザーペルソナ分析のソーステーブルとして機能します。無効な処理や品質の問題を防ぐために、このテーブルの行数が 0 より大きいことをチェックする強ルールを設定します。このルールは、同期タスクがテーブルのパーティションにデータを書き込んだかどうかを判断します。

ルールが有効になった後、モニターが ods_user_info_d テーブルの対応するパーティションの行数が 0 であることを検出すると、アラートがトリガーされます。その後、ods_user_info_d ノードは失敗し、後続タスクの実行をブロックします。

  1. Rule Management タブの Monitor Perspective で、作成した品質モニター (例: user_info_quality_control) を選択します。 次に、[ルールを作成] をクリックして、[ルールを作成] ページを開きます。

  2. System Template セクションで、The number of rows is greater than 0. ルールを見つけ、Use をクリックし、Degree of importanceStrong rules に変更します。

    説明

    このチュートリアルでは、ルールは 強ルール として定義されています。ods_user_info_d テーブルの行数が 0 の場合、アラートがトリガーされ、後続タスクの実行がブロックされます。

  3. System Template セクションで、[一意の値の数、固定値] ルールを見つけて Use をクリックします。次に、Rule ScopeMonitoring ThresholdDegree of importance パラメーターを次のように設定します

    • [Rule Scope]:uid(STRING)

    • [Monitoring Threshold]:Normal threshold = 0

    • [Degree of importance]: soft rule

  4. Determine をクリックします。

    説明

    設定項目の詳細については、「単一テーブルのルール設定」をご参照ください。

3. その他の設定

品質モニタリングのテスト実行サブスクリプションの手順は、「ods_raw_log_d の品質モニタリングルールの設定」で説明されている手順と同じです。

ads_user_info_1d の品質モニタリングルールの設定

ads_user_info_1d テーブルは、最終的なシンクテーブルです。そのビジネスプロパティに基づき、テーブル行数の変動を監視し、ビジネスプライマリキーの一意性をチェックします。これにより、日次の UV の変動を観察し、オンラインのトラフィック変更に関する情報を常に把握できます。ルールを品質モニターに関連付けて、データ品質チェックをトリガーします。

1. パーティションフィルター式の設定

品質モニターは、対象テーブルの指定されたデータ範囲 (パーティション) のデータが期待値を満たしているかどうかをチェックします。

前と同様に、Data Rangedt=$[yyyymmdd-1] に設定して、前日のパーティションをチェックします。

スケジューリングタスクが ads_user_info_1d テーブルで実行されるたびに、品質モニターがトリガーされます。モニターは、関連付けられた品質ルールを使い、対応するデータ範囲のデータをチェックして、データ品質ルールを満たしているか判断します。

次の手順を実行します。

  1. Monitor タブで、Create Monitor をクリックします。

  2. 品質モニターを設定します。

    主なパラメーター:

    パラメーター

    設定例

    [Data Range]

    dt=$[yyyymmdd-1]

    [Trigger Method]

    本番スケジューリングによってトリガーされます。データの処理で作成された ads_user_info_1d ノードを選択します。

    [Monitoring Rule]

    ここでは設定しません。後のセクションで設定します。

    説明

    品質モニターの設定方法の詳細については、「単一テーブルのルール設定」をご参照ください。

2. 監視ルールの作成

ads_user_info_1d テーブルは、ユーザーペルソナ分析に使用されます。日次の UV の変動を検出するために、集計データの行数の変動を監視し、プライマリキーの一意性をチェックします。これにより、日次の UV の変動を観察し、オンラインのトラフィック変更に関する情報を常に把握できます。

ルールが有効な場合、モニターが ads_user_info_1d テーブルのプライマリキーが一意でないことを検出すると、アラートがトリガーされます。7 日間の行数変動率が 10% を超え、50% 未満の場合、警告アラートがトリガーされます。7 日間の行数変動率が 50% を超える場合、エラーアラートがトリガーされます。

説明

データ品質モニタリングには、[処理ポリシー] が設定されています:

  • strong rule - Error: 処理ポリシーは Blocks です。データ品質の問題が検出された場合、システムはチェックをトリガーした本番スケジューリングノードを失敗させます。このアクションは下流ノードをブロックし、ダーティデータの拡散を停止します。

  • その他の例外: 処理ポリシーは Alert です。データ品質の問題が検出された場合、システムはサブスクライブされたチャネルにアラートを送信します。

したがって、品質ルールを設定する際には、次のようになります。

  • 強ルールを設定した場合、エラーアラートは後続ノードをブロックします。その他のアラートはブロックしません。

  • ソフトルールを設定した場合、赤色の異常アラートもその他の異常アラートも後続タスクノードをブロックしません。

次の手順を実行します。

  1. Rule Management タブの Monitor Perspective で、作成した品質モニター (例: ads_user_info_quality_control) を選択します。 次に、[ルールを作成] をクリックして [ルールを作成] ページを開きます。

  2. System Template セクションで、[行数、7日間の変動] ルールを見つけ、Use をクリックし、[監視しきい値]Degree of importance を次のように設定します

    • [Monitoring Threshold]:

      • エラーしきい値 > 50%

      • 警告しきい値 > 10%

      • 正常しきい値 <= 10%

    • [Degree of importance]: soft rule

  3. System Template セクションで、The number of rows is greater than 0. ルールを見つけて Use をクリックします。次に、Degree of importanceuid (STRING)[監視しきい値]正常しきい値 = 0 と設定し、Strong rules[ソフトルール] に変更します。

  4. Determine をクリックします。

    説明

    設定項目の詳細については、「単一テーブルのルール設定」をご参照ください。

3. その他の設定

品質モニタリングのテスト実行サブスクリプションの手順は、「ods_raw_log_d の品質モニタリングルールの設定」で説明されている手順と同じです。

次のステップ

データが変換された後、DataAnalysis モジュールを使用してデータを可視化できます。詳細については、「データの可視化」をご参照ください。