このトピックでは、データ品質の監視ルールを使用して、データ同期ノードが毎日スケジュールされるときに発生する例外を検出する方法について説明します。 このトピックでは、ユーザー情報テーブル ods_user_info_d_starrocks
を使用し、ユーザー情報テーブルに同期される行数が 0 より大きいかどうかを監視する強いルールと、テーブル内のビジネスプライマリキーが一意であるかどうかを監視する弱いルールを構成します。 テーブルを生成するデータ同期ノードが毎日スケジュールされると、ルールがトリガーされ、欠落しているソースデータと重複するプライマリキーの例外がリアルタイムで検出され、ノードのダウンストリームコンピューティングの信頼性が確保されます。 データ品質の監視ルールを構成してデータ品質を監視するには、以下のセクションを参照してください。
前提条件
データが同期および処理されます。
ApsaraDB RDS for MySQL テーブル ods_user_info_d の基本的なユーザー情報は、Data Integration を使用して E-MapReduce (EMR) Serverless StarRocks インスタンスに作成された ods_user_info_d_starrocks テーブルに同期されます。
Object Storage Service (OSS) の user_log.txt にあるユーザーの Web サイトアクセスログは、Data Integration を使用して EMR Serverless StarRocks インスタンスに作成された ods_raw_log_d_starrocks テーブルに同期されます。
収集されたデータは、Data Studio で基本的なユーザープロファイルデータに処理されます。
データ品質監視要件の分析
この例では、データ品質を使用して、ユーザープロファイル分析ケースのソースデータの変更と、ソースデータに対して抽出、変換、ロード (ETL) 操作が実行されたときに生成されるダーティデータを迅速に検出します。 次の表に、ユーザープロファイルの分析と処理手順の監視要件を示します。
テーブル名 | 詳細な要件 |
ods_raw_log_d_starrocks | 生ログデータテーブルに同期される行数が毎日 0 より大きいかどうかを監視する強いルールを構成します。 これにより、生ログデータを毎日確実に取得でき、データの欠落によって後続のコンピューティングが影響を受けるのを防ぎます。 |
ods_user_info_d_starrocks | ユーザー情報テーブルに同期される行数が毎日 0 より大きいかどうかを監視する強いルールと、テーブル内のビジネスプライマリキーが一意であるかどうかを毎日監視する弱いルールを構成します。 これにより、ユーザー情報を毎日確実に取得でき、データの重複を防ぎ、後続のコンピューティングの精度を確保できます。 |
dwd_log_info_di_starrocks | 監視ルールを構成せずにノードを実行します。 |
dws_user_info_all_di_starrocks | 監視ルールを構成せずにノードを実行します。 |
ads_user_info_1d_starrocks | ユーザー情報テーブルの行数の変動を毎日監視するルールを構成します。 このルールは、毎日のユニークビジター (UV) の変動を観察するために使用され、アプリケーションの状態をできるだけ早く把握するのに役立ちます。 |
以下のセクションの手順を実行して、ods_user_info_d_starrocks
テーブルの監視ルールを構成し、定期的なスケジューリングに基づいて生成されるテーブルデータの品質を監視できます。
ステップ 1:テーブル別設定ページに移動する
データ品質ページに移動します。
DataWorks コンソール にログオンします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ品質に移動] をクリックします。
テーブル別設定ページに移動します。
データ品質ページの左側のナビゲーションウィンドウで、
を選択します。 テーブル別設定ページで、次のフィルター条件に基づいて目的のテーブルを検索します。接続セクションで、StarRocks を選択します。
テーブル別設定ページの右側で、フィルター条件を指定して
ods_user_info_d_starrocks
テーブルを見つけます。
検索結果で目的のテーブルを見つけ、アクション列の [ルール管理] をクリックします。 テーブルのテーブル品質詳細ページが表示されます。 以下のセクションでは、テーブルの構成について説明します。
ステップ 2:監視ルールを構成する
このセクションでは、指定されたパーティションにデータが含まれているかどうかを監視するルールが、ods_user_info_d_starrocks
テーブルに構成されています。 構成には、監視ルールの作成、ルールのトリガー方法の指定、ルールによって検出された例外の処理ポリシーの指定が含まれます。
監視スコープを選択します。
[監視] タブで、[監視の作成] をクリックします。
[データ範囲] パラメーターを
dt=$[yyyymmdd-1]
に設定します。説明定期的なスケジューリングに基づいて生成されたテーブルデータを監視するには、データ範囲パラメーターの値が、現在の日付のテーブルに生成されたパーティションに対応していることを確認してください。
監視ルールを作成します。
このセクションでは、テーブルの行数が 0 より大きいかどうかを監視するルールが、
ods_user_info_d_starrocks
テーブルに構成されています。 監視ルールの構成方法の詳細については、「単一テーブルの監視ルールを構成する」をご参照ください。[監視の作成] ページで、[ルールの作成] をクリックします。[ルールの作成] パネルが表示されます。
[システムテンプレート] タブの [ルールの作成] パネルで、[テーブルが空ではない] ルールを見つけて [使用] をクリックします。 パネルの右側で、[重要度] パラメーターを [強いルール] に設定します。
説明この例では、ルールは**強い**ルールとして定義されています。 これは、
ods_user_info_d_starrocks
テーブルの行数が 0 であることが判明した場合、アラートがトリガーされ、子孫ノードの実行がブロックされることを示します。[システムテンプレート] タブの [ルールの作成] パネルで、[一意の値。固定値] ルールを見つけて [使用] をクリックします。 パネルの右側で、[ルールスコープ]、[監視しきい値]、[重要度] パラメーターを構成します。
[ルールスコープ]:
uid(STRING)
に設定します。[監視しきい値]:
標準しきい値パラメーターの場合、比較演算子を = に設定し、値を 0 に設定します
。[重要度]:
弱いルール
に設定します。
[決定] をクリックして、構成済みの監視ルールを保存します。
ルールのトリガー方法を指定します。
トリガー方法パラメーターを [本番環境でのノードスケジューリングによってトリガーされる] に設定し、データ同期の際に作成された
ods_user_info_d_starrocks
ノードを選択します。ルールによって検出された例外の処理ポリシーを指定します。
ビジネス要件に基づいて、処理ポリシーを [ノードの実行をブロックする] または [受信者にアラート通知を送信する] に設定します。
構成が完了したら、[保存] をクリックして、モニターの構成を保存します。
ステップ 3:モニターのテスト実行を実行する
構成が完了したら、テスト実行を実行して、モニターに関連付けられている監視ルールの構成が期待どおりに機能するかどうかを確認できます。 ルールの構成が正しく、期待どおりであることを確認するには、ルールを作成してモニターに関連付けた後、モニターのテスト実行を実行して、モニターの監視効果を確認します。
[モニターパースペクティブ] セクションの [ルール管理] タブで、作成したモニターを選択します。 次に、タブの右側にある [テスト実行] をクリックします。 [テスト実行] ダイアログボックスが表示されます。
[テスト実行] ダイアログボックスで、[スケジューリング時間] パラメーターを構成し、[テスト実行] をクリックします。
テスト実行が完了したら、[詳細の表示] をクリックして、データがテストに合格したかどうかを確認します。
ステップ 4:モニターをサブスクライブする
監視ルールを構成した後、次の操作を実行して、アラート通知方法とアラート通知の送信先受信者を構成できます。
[モニターパースペクティブ] セクションの [ルール管理] タブで、作成したモニターを選択します。
タブの右側にある [アラートサブスクリプション] をクリックします。
アラートサブスクリプションダイアログボックスで、[通知方法] パラメーターと [受信者] パラメーターを構成し、[アクション] 列の [保存] をクリックします。
サブスクリプションの構成が完了したら、左側のナビゲーションウィンドウで
を選択します。 次に、監視ページで [マイサブスクリプション] を選択して、サブスクライブ済みのモニターを表示および変更します。
次のステップ
データが処理された後、DataAnalysis を使用してデータを視覚化できます。 詳細については、「ダッシュボードでデータを視覚化する」をご参照ください。