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

DataWorks:データ品質の監視

最終更新日:Feb 04, 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. 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 から同期されたユーザーの Web サイトアクセスレコードを受け取るために使用されます。このテーブルのビジネスプロパティに基づき、テーブルの行数が 0 でないことをチェックするルールを設定します。次に、そのルールを品質モニターに関連付けて、データ品質チェックをトリガーします。

1. 品質モニターの設定

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

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

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

次の手順を実行します。

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

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

    主要なパラメーター:

    パラメーター

    設定例

    データ範囲

    dt=$[yyyymmdd-1]

    トリガー方法

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

    品質ルールの選択

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

    説明

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

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

2. 監視ルールの設定

ods_raw_log_d テーブルは、OSS から同期された Web サイトアクセスレコードを受け取るために使用され、ユーザーペルソナ分析のソーステーブルとして機能します。無効な処理や品質の問題を防ぐために、このテーブルに対して、行数が 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) を選択します。次に、右側の image [テスト実行] をクリックして、[テスト実行] ダイアログボックスを開きます。

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

  3. テスト実行が完了したら、画面の指示に従い、[詳細の表示] をクリックしてテストが成功したかどうかを確認します。

4. サブスクリプションの品質監視

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

  1. [ルール管理] タブの [品質監視の視点] で、作成した品質モニター (例:raw_log_number_of_table_rows_not_0) を選択します。次に、右側の image [アラートサブスクリプション] をクリックします。

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

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

次の手順を実行します。

  1. [ルール管理] タブの [品質監視の視点] で、作成した品質モニター (例:user_info_quality_control) を選択します。次に、[ルールの作成] をクリックして、[ルールの作成] ページに移動します。

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

    説明

    このチュートリアルでは、ルールは強制ルールとして定義されます。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% 未満の場合に警告アラートがトリガーされ、7日間の行数変動率が 50% を超える場合にエラーアラートがトリガーされます。

説明

データ品質監視には [処理ポリシー] が設定されています。

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

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

したがって、品質ルールを設定する際には:

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

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

次の手順を実行します。

  1. [ルール管理] タブの [品質監視の視点] で、作成した品質モニター (例:ads_user_info_quality_control) を選択します。次に、[ルールの作成] をクリックして、[ルールの作成] ページに移動します。

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

    • 監視しきい値

      • エラーしきい値 > 50%

      • 警告しきい値 > 10%

      • 正常しきい値 <= 10%

    • 重要度ソフトルール

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

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

    説明

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

3. その他の設定

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

次のステップ

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