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

DataWorks:データ品質の監視

最終更新日:Nov 09, 2025

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

前提条件

このチュートリアルを開始する前に、「データの同期」と「データの処理」を完了していることを確認してください。

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

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

  • 収集されたデータは、DataStudio で基本的なユーザーペルソナデータに処理されます。

背景情報

Data Quality は、異種データソースのデータ品質をチェックし、アラート通知を構成し、データソースを管理できるエンドツーエンドのプラットフォームです。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. Data Quality ページに移動します。

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

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

    Data Quality ページの左側のナビゲーションウィンドウで、[ルールを構成] > [テーブルごとに構成] をクリックし、次のパラメーターに基づいてターゲットテーブルを見つけます。

    • データソース: MaxCompute

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

    • テーブル: このチュートリアルでは、ods_raw_log_dods_user_info_d、および ads_user_info_1d テーブルの品質監視を構成する必要があります。

  3. 検索結果でターゲットテーブルを見つけ、[アクション] 列の [監視ルールの構成] をクリックします。テーブルの [品質詳細] ページが表示されます。次のセクションでは、テーブルの監視ルールを構成する方法について説明します。

監視ルールの構成

ods_raw_log_d テーブルの監視ルールの構成

ods_raw_log_d テーブルには、OSS から同期されたユーザーのウェブサイトアクセスレコードが格納されます。このテーブルのビジネスプロパティに基づいて、テーブルの行数が 0 ではないことを確認するルールを構成できます。その後、このルールを品質モニターに関連付けて、データ品質チェックをトリガーできます。

1. モニターの構成

モニターは、テーブルの指定されたタイムスタンプ範囲 (パーティション) のデータ品質が期待どおりであるかどうかをチェックします。

このステップでは、モニターの [データ範囲] パラメーターを dt=$[yyyymmdd-1] に設定する必要があります。モニターが実行されると、パラメーター値に一致するデータパーティションを検索し、データ品質が期待どおりであるかどうかをチェックします。

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

次の手順を実行します。

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

  2. モニターを構成します。

    主要なパラメーター:

    パラメーター

    構成例

    [データ範囲]

    dt=$[yyyymmdd-1]

    [トリガー方法]

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

    [品質ルールの選択]

    これは後のセクションで構成します。

    説明

    データ品質監視の構成方法の詳細については、「単一テーブルの監視ルールを構成する」をご参照ください。

この例では、毎日のスケジューリングタスクによって生成されたテーブルデータが期待どおりであるかどうかを監視することが目的です。テーブルは前日のデータを生成するため、スケジューリング時間が当日で、計算結果が前日のものであれば、データは期待どおりと見なされます。

2. 監視ルールの構成

ods_raw_log_d テーブルには、OSS から同期されたユーザーのウェブサイトアクセスログが格納されます。このテーブルは、ユーザーペルソナ分析シナリオのソーステーブルとして使用されます。無効なデータ処理とデータ品質の問題を防ぐために、テーブルの行数が 0 より大きいかどうかを監視する強制ルールを作成して構成する必要があります。このルールは、同期タスクがテーブルの関連パーティションにデータを書き込んだかどうかを判断するのに役立ちます。

ods_raw_log_d テーブルの関連パーティションの行数が 0 の場合、アラートがトリガーされ、[ods_raw_log_d] ノードが失敗し、[ods_raw_log_d] ノードの下流タスクがブロックされます。

次の手順を実行します。

  1. [ルール管理] タブの [品質監視パースペクティブ] セクションで、raw_log_number_of_table_rows_not_0 などの既存の品質モニターを選択します。次に、[ルールの作成] をクリックします。[ルールの作成] ダイアログボックスが表示されます。

  2. [システムテンプレート] タブで、[テーブルの行数が 0 より大きい] ルールを見つけ、[使用] をクリックし、[重要度][強制ルール] に設定します。

    説明

    この例では、ルールは 強制ルールとして定義されています。これは、ods_raw_log_d テーブルの行数が 0 の場合、アラートがトリガーされ、下流タスクの実行がブロックされることを示します。

  3. [OK] をクリックします。

    説明

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

3. モニターでテスト実行を実行する

テスト実行では、モニター内の監視ルールが正しく構成されているかどうかを確認します。ルールが正しく、期待どおりであることを確認するために、作成後にテスト実行を実行できます。

  1. [ルール管理] タブの [品質監視ビュー] で、作成した品質監視ルール (例: raw_log_number_of_table_rows_not_0) を選択します。次に、右側の [テスト実行] をクリックして [テスト実行] ダイアログボックスを開きます。

  2. [テスト実行] ダイアログボックスで、[スケジューリング時間] を選択し、[テスト実行] をクリックします。

  3. テスト実行が完了したら、[詳細の表示] をクリックして、テストに合格したかどうかを確認します。

4. モニターをサブスクライブする

Data Quality は、監視およびアラート機能を提供します。モニターをサブスクライブして、データ品質の問題に関するアラート通知を受信できます。これにより、問題を迅速に解決し、データのセキュリティ、安定性、および適時性を確保できます。

  1. [ルール管理] タブの [品質監視ビュー] で、品質監視ルール (例: raw_log_number_of_table_rows_not_0) を選択し、右側の [アラートサブスクリプション] をクリックします。

  2. プロンプトに従って、[サブスクリプション方法][通知方法] を追加し、[アクション] 列の [保存] をクリックします。

  3. サブスクリプション管理設定を構成した後、左側のナビゲーションウィンドウで [品質 O&M] > [品質監視] をクリックし、[マイサブスクリプション] を選択して、サブスクライブしたタスクを表示および変更します。

ods_user_info_d テーブルの監視ルールの構成

ods_user_info_d テーブルには、ApsaraDB RDS for MySQL から同期された基本ユーザー情報が格納されます。このテーブルのビジネスプロパティに基づいて、テーブルの行数が 0 であるかどうかを監視するルールと、プライマリキーの値が一意であるかどうかを監視するルールを構成できます。その後、これらのルールをモニターに関連付けて、テーブルの品質チェックをトリガーできます。

1. モニターの構成

モニターは、テーブルの指定されたタイムスタンプ範囲 (パーティション) のデータ品質が期待どおりであるかどうかをチェックします。

このステップでは、品質モニターの [データ範囲] パラメーターを dt=$[yyyymmdd-1] に設定する必要があります。モニターが実行されると、このパーティションのデータと照合して、期待どおりであるかどうかを判断します。

これは、ods_user_info_d テーブルのスケジューリングタスクが実行されるたびに、データ品質モニターがトリガーされることを意味します。その後、関連付けられた品質ルールを使用して、対応する範囲のデータがデータ品質要件を満たしているかどうかをチェックします。

次の手順を実行します。

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

  2. モニターを構成します。

    主要なパラメーター:

    パラメーター

    構成例

    [タイムスタンプ範囲]

    dt=$[yyyymmdd-1]

    [トリガー方法]

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

    [品質ルールの選択]

    今は構成しないでください。後のセクションで構成します。

    説明

    データ品質監視の構成方法の詳細については、「単一テーブルの監視ルールを構成する」をご参照ください。

2. 監視ルールの構成

ods_user_info_d テーブルには、RDS for MySQL から同期された基本ユーザー情報が格納されます。このテーブルは、ユーザーペルソナ分析シナリオのソーステーブルとして使用されます。無効なデータ処理とデータ品質の問題を防ぐために、テーブルの行数が 0 より大きいかどうかを監視する強制ルールを作成して構成する必要があります。このルールは、同期タスクがテーブルの関連パーティションにデータを書き込んだかどうかを判断するのに役立ちます。

ルールが有効になると、ods_user_info_d テーブルの関連パーティションの行数が 0 の場合、アラートがトリガーされ、[ods_user_info_d] ノードが失敗し、[ods_user_info_d] ノードの下流タスクがブロックされます。

次の手順を実行します。

  1. [ルール管理] タブの [品質監視パースペクティブ] セクションで、モニターを選択します。この例では、user_info_quality_control モニターが選択されています。次に、[ルールの作成] をクリックします。[ルールの作成] ダイアログボックスが表示されます。

  2. [システムテンプレート] タブで、[テーブルは空ではありません] ルールを見つけて [使用] をクリックします。次に、[重要度][強制ルール] に設定します。

    説明

    この例では、ルールは 強制ルールとして定義されています。これは、ods_user_info_d テーブルの行数が 0 の場合、アラートがトリガーされ、下流タスクの実行がブロックされることを示します。

  3. [システムテンプレート] タブで、[一意の値の数、固定値] ルールを見つけ、[使用] をクリックし、[ルール範囲][監視しきい値]、および [重要度] パラメーターを次のように変更します。

    • [ルール範囲]: uid(STRING)

    • [監視しきい値]: 通常しきい値 = 0

    • [重要度]: ソフトルール

  4. [OK] をクリックします。

    説明

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

3. その他の構成

品質監視テストの実行品質監視のサブスクライブの手順は、「ods_raw_log_d テーブルの監視ルールの構成」で説明されているものと同じです。

ads_user_info_1d テーブルの監視ルールの構成

ads_user_info_1d テーブルは最終結果テーブルです。テーブルのビジネスプロパティに基づいて、テーブルの行数の変動を監視するルールと、プライマリキーの値が一意であるかどうかをチェックするルールを構成できます。これにより、日次ユニークビジター (UV) の変動を観察し、オンラインのトラフィック変動をいち早く知ることができます。その後、これらのルールを品質モニターに関連付けて、テーブルのデータ品質チェックをトリガーできます。

1. パーティションフィルター式の構成

モニターは、テーブルの指定されたタイムスタンプ範囲 (パーティション) のデータ品質が期待どおりであるかどうかをチェックします。

このステップでは、モニターの [データ範囲] パラメーターを dt=$[yyyymmdd-1] に設定する必要があります。モニターが実行されると、このパーティションのデータと照合して、データ品質が期待どおりであるかどうかを判断します。

これは、ads_user_info_1d テーブルのスケジューリングタスクが実行されるたびに、品質監視がトリガーされ、関連付けられた品質ルールを使用して、対応するデータ範囲のデータがデータ品質チェックルールを満たしているかどうかをチェックすることを意味します。

次の手順を実行します。

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

  2. モニターを構成します。

    主要なパラメーター:

    パラメーター

    構成例

    [データ範囲]

    dt=$[yyyymmdd-1]

    [トリガー方法]

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

    [品質ルールの選択]

    今は構成しないでください。これは後のセクションで構成します。

    説明

    データ品質監視の構成方法の詳細については、「単一テーブルの監視ルールを構成する」をご参照ください。

2. 監視ルールの構成

ads_user_info_1d テーブルは、ユーザーペルソナ分析に使用されます。日次 UV の変動を検出するには、集計データの行数の変動を監視するルールと、プライマリキーの値が一意であるかどうかを監視するルールを作成して構成する必要があります。これにより、日次 UV の変動を観察し、オンラインのトラフィック変動をいち早く知ることができます。

このルールがアクティブな場合、ads_user_info_1d テーブルで重複するプライマリキーが検出されるとアラートがトリガーされます。また、7 日間の行数変動率が 10% を超え 50% 未満の場合は警告アラートがトリガーされ、50% を超える場合は重大アラートがトリガーされます。

説明

データ品質監視では、[処理ポリシー] が構成されています。

  • 強制ルール-赤色アラート: 処理ポリシーは [ブロック] です。これは、テーブルでデータ品質の問題が検出された場合、テーブルにデータを書き込む本番環境のスケジューリングノードが特定され、システムのノードの実行ステータスが [失敗] に設定されることを示します。この場合、ノードの子孫ノードは実行できなくなり、本番パイプラインがブロックされ、ダーティデータの拡散が防止されます。

  • その他の例外については、処理ポリシーは [アラート] です。これは、データ品質の問題が検出された場合、システムが監視ジョブのアラートサブスクリプションチャネルにアラート情報を送信することを意味します。

監視ルールを構成する際は、次の点に注意してください。

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

  • ソフトルールを設定した場合、どのアラートも子孫ノードをブロックしません。

次の手順を実行します。

  1. [ルール管理] タブの [品質監視ビュー] で、ads_user_info_quality_control などの既存の品質モニターを選択します。次に、[ルールの作成] をクリックします。[ルールの作成] ダイアログボックスが開きます。

  2. [システムテンプレート] タブで、[行数、7 日間の変動] ルールを見つけ、[使用] をクリックし、[監視しきい値][重要度] を次のように構成します。

    • [監視しきい値]:

      • エラーしきい値 > 50%

      • 警告しきい値 > 10%

      • 通常しきい値 <= 10%

    • [重要度]: ソフトルール

  3. [システムテンプレート] タブで、[テーブルは空ではありません] ルールを見つけて [使用] をクリックし、[重要度][強制ルール] に設定します。

  4. [OK] をクリックします。

    説明

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

3. その他の構成

品質モニターでテスト実行を実行するおよび品質モニターをサブスクライブするの手順は、「ods_raw_log_d テーブルの監視ルールの構成」セクションで説明されているものと同じです。

次のステップ

データが処理された後、DataAnalysis を使用してデータを可視化できます。詳細については、「ダッシュボードでデータを可視化する」をご参照ください。