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

E-MapReduce:データ品質の監視

最終更新日:Oct 22, 2025

このトピックでは、Data Quality の監視ルールを使用して、データ同期ノードが毎日スケジュールされるときに発生する例外を検出する方法について説明します。このトピックでは、ユーザー情報テーブル ods_user_info_d_spark を使用し、ユーザー情報テーブルに同期される行数が 0 より大きいかどうかを監視する強制ルールと、テーブル内のビジネスプライマリキーが一意であるかどうかを監視する弱ルールがテーブルに設定されています。テーブルを生成するデータ同期ノードが毎日スケジュールされると、ルールがトリガーされ、ソースデータの欠落とプライマリキーの重複例外をリアルタイムで検出し、ノードの下流コンピューティングの信頼性を確保します。Data Quality で監視ルールを設定してデータ品質を監視するには、次のセクションをご参照ください。

前提条件

データは同期され、処理されます。

  • ApsaraDB RDS for MySQL テーブル ods_user_info_d の基本ユーザー情報は、Data Integration を使用して E-MapReduce (EMR) Serverless Spark ワークスペースに作成された ods_user_info_d_spark テーブルに同期されます。

  • Object Storage Service (OSS) の user_log.txt にあるユーザーの Web サイトアクセスログは、Data Integration を使用して EMR Serverless Spark ワークスペースに作成された ods_raw_log_d_spark テーブルに同期されます。

  • 収集されたデータは、Data Studio で基本ユーザープロファイルデータに処理されます。

データ品質監視要件の分析

この例では、Data Quality を使用して、ユーザープロファイル分析ケースのソースデータへの変更と、ソースデータに対して抽出、変換、ロード (ETL) 操作が実行されたときに生成されるダーティデータを迅速に検出します。次の表に、ユーザープロファイル分析および処理手順の監視要件を示します。

テーブル名

詳細な要件

ods_raw_log_d_spark

生ログデータテーブルに同期される行数が毎日 0 より大きいかどうかを監視する強制ルールを設定します。これにより、生ログデータが毎日正常に取得され、データ欠落による後続のコンピューティングへの影響を防ぎます。

ods_user_info_d_spark

ユーザー情報テーブルに同期される行数が毎日 0 より大きいかどうかを監視する強制ルールと、テーブル内のビジネスプライマリキーが毎日一意であるかどうかを監視する弱ルールを設定します。これにより、ユーザー情報が毎日正常に取得され、データの重複を防ぎ、後続のコンピューティングの正確性を確保します。

dwd_log_info_di_spark

監視ルールを設定せずにノードを実行します。

dws_user_info_all_di_spark

監視ルールを設定せずにノードを実行します。

ads_user_info_1d_spark

ユーザー情報テーブルの行数の変動を毎日監視するルールを設定します。このルールは、毎日のユニークビジター (UV) の変動を観察し、アプリケーションのステータスをいち早く把握するのに役立ちます。

次のセクションの手順を実行して、ods_user_info_d_spark テーブルの監視ルールを設定し、定周期スケジューリングに基づいて生成されるテーブルデータの品質を監視できます。

ステップ 1: [テーブルごとに設定] ページに移動する

  1. Data Quality ページに移動します。

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

  2. [テーブルごとに設定] ページに移動します。

    Data Quality ページの左側のナビゲーションウィンドウで、[ルールの設定] > [テーブルごとに設定] を選択します。[テーブルごとに設定] ページで、次のフィルター条件に基づいて目的のテーブルを検索します。

    • [接続] セクションで、[E-MapReduce] を選択します。

    • [テーブルごとに設定] ページの右側で、フィルター条件を指定して ods_user_info_d_spark テーブルを検索します。

  • 検索結果で目的のテーブルを見つけ、[アクション] 列の [ルール管理] をクリックします。テーブルの [テーブル品質詳細] ページが表示されます。次のセクションでは、テーブルの設定について説明します。

ステップ 2: 監視ルールを設定する

このセクションでは、指定されたパーティションにデータが含まれているかどうかを監視するルールを ods_user_info_d_spark テーブルに設定します。設定には、監視ルールの作成、ルールのトリガーメソッドの指定、ルールによって検出された例外の処理ポリシーの指定が含まれます。

  1. 監視範囲を選択します。

    1. [監視] タブで、[監視の作成] をクリックします。

    2. [データ範囲] パラメーターを dt=$[yyyymmdd-1] に設定します。

      説明

      定周期スケジューリングに基づいて生成されるテーブルデータを監視するには、[データ範囲] パラメーターの値が、当日にテーブルに対して生成されたパーティションに対応していることを確認してください。

  2. 監視ルールを作成します。

    このセクションでは、テーブル内の行数が 0 より大きいかどうかを監視するルールを ods_user_info_d_spark テーブルに設定します。監視ルールの設定方法の詳細については、「単一テーブルの監視ルールを設定する」をご参照ください。

    1. [監視の作成] ページで、[ルールの作成] をクリックします。[ルールの作成] パネルが表示されます。

    2. [ルールの作成] パネルの [システムテンプレート] タブで、[テーブルが空でない] ルールを見つけて [使用] をクリックします。パネルの右側で、[重要度] パラメーターを [強制ルール] に設定します。

      説明

      この例では、ルールは 強制 ルールとして定義されています。これは、ods_user_info_d_spark テーブルの行数が 0 であることが判明した場合、アラートがトリガーされ、子孫ノードの実行がブロックされることを示します。

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

      • [ルール範囲]: uid(STRING) に設定します。

      • [監視しきい値]: 通常しきい値パラメーターでは、比較演算子を = に、値を 0 に設定します

      • [重要度]: 弱ルール に設定します。

    4. [決定] をクリックして、設定した監視ルールを保存します。

  3. ルールのトリガーメソッドを指定します。

    [トリガーメソッド] パラメーターを [本番環境でのノードスケジューリングによってトリガー] に設定し、データ同期中に作成された ods_user_info_d_spark ノードを選択します。

  4. ルールによって検出された例外の処理ポリシーを指定します。

    ビジネス要件に基づいて、処理ポリシーを [ノードの実行をブロック] または [受信者にアラート通知を送信] に設定します。

  5. 設定が完了したら、[保存] をクリックしてモニターの設定を保存します。

ステップ 3: モニターでテスト実行を実行する

設定が完了したら、テスト実行を実行して、モニターに関連付けられている監視ルールの設定が期待どおりに機能するかどうかを確認できます。ルールの設定が正しく、期待どおりであることを確認するには、モニターを作成してルールを関連付けた後、モニターでテスト実行を実行して、モニターの監視効果を確認します。

  1. [ルール管理] タブの [監視の視点] セクションで、作成したモニターを選択します。次に、タブの右側にある [テスト実行] をクリックします。[テスト実行] ダイアログボックスが表示されます。

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

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

ステップ 4: モニターをサブスクライブする

監視ルールを設定した後、次の操作を実行して、アラート通知方法とアラート通知の送信先となる受信者を設定できます。

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

  2. タブの右側にある [アラートサブスクリプション] をクリックします。

  3. [アラートサブスクリプション] ダイアログボックスで、[通知方法][受信者] パラメーターを設定し、[アクション] 列の [保存] をクリックします。

  4. サブスクリプション設定が完了したら、左側のナビゲーションウィンドウで [品質 O&M] > [モニター] を選択します。次に、[モニター] ページで [マイサブスクリプション] を選択して、サブスクライブしたモニターを表示および変更します。

次のステップ

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