「Data Quality」を使用すると、スケジューリングノードの実行が完了した直後にデータの問題を検出できます。これにより、これらの問題がダウンストリームの計算に伝播する前に検出できます。このチュートリアルでは、ods_user_info_d_starrocksテーブルに対して 2 つのモニタリングルールを設定する手順について説明します:行数が 0 より大きいかどうかをチェックする強制ルール、およびビジネス用プライマリキーが一意であるかどうかをチェックする弱いルールです。
データ同期ノードが毎日実行されると、両方のルールが自動的にトリガーされます。強制ルールは、行数が 0 の場合にすべての子孫ノードをブロックします。弱ルールは、重複したプライマリキーが検出された場合にアラートを送信します。
前提条件
開始する前に、以下を確認してください:
Data Integration を介して、ApsaraDB RDS for MySQL テーブル
ods_user_info_dから E-MapReduce (EMR) Serverless StarRocks インスタンスのods_user_info_d_starrocksテーブルに、基本的なユーザー情報が同期されていること。Data Integration を介して、Object Storage Service (OSS) の
user_log.txtから EMR Serverless StarRocks インスタンスのods_raw_log_d_starrocksテーブルに、ウェブサイトのアクセスログが同期されていること。Data Studio で、収集されたデータが基本的なユーザープロファイルデータに処理されていること。
モニタリング要件
次の表は、ユーザープロファイル分析パイプラインの各テーブルに対するモニタリングルールをまとめたものです。モニタリングは毎日の同期が完了した後に実行され、下流の抽出・変換・書き出し (ETL) 操作が開始される前に問題を検出します。
| テーブル | ルール | 結果 |
|---|---|---|
ods_raw_log_d_starrocks | 強制ルール:毎日の行数 > 0 | 行数が 0 の場合、子孫ノードをブロック |
ods_user_info_d_starrocks | 強制ルール:毎日の行数 > 0 | 行数が 0 の場合、子孫ノードをブロック |
ods_user_info_d_starrocks | 弱ルール:毎日のビジネスプライマリキーが一意であること | 重複が見つかった場合にアラートを送信。ノードはブロックしない |
dwd_log_info_di_starrocks | ルールなし | — |
dws_user_info_all_di_starrocks | ルールなし | — |
ads_user_info_1d_starrocks | ルール:毎日の行数変動をモニタリング | 毎日のユニーク訪問者 (UV) の傾向を観察するのに役立つ |
このチュートリアルでは、ods_user_info_d_starrocks テーブルについて説明します。
ステップ 1:テーブルごとの設定ページを開く
DataWorks コンソールにログインします。上部のナビゲーションバーで、対象のリージョンを選択します。左側のナビゲーションウィンドウで、[データガバナンス] > [Data Quality] を選択し、ドロップダウンリストから対象のワークスペースを選択して、[Data Quality に移動] をクリックします。
Data Quality ページの左側のナビゲーションウィンドウで、[ルールを設定] > [テーブルごとに設定] を選択します。
テーブルごとの設定ページで、接続によってフィルターします:
[接続] セクションで、[StarRocks] を選択します。
ページの右側で、フィルター条件を指定して
ods_user_info_d_starrocksテーブルを検索します。
検索結果で、
ods_user_info_d_starrocksテーブルの [操作] 列にある [ルール管理] をクリックします。テーブル品質詳細ページが開きます。
ステップ 2:モニタリングルールの設定
ods_user_info_d_starrocks の日次パーティションをチェックするモニターを設定します。このモニターは、行数に関する強制ルールと、プライマリキーの一意性に関する弱ルールの 2 つのルールを組み合わせたものです。モニタリングルールの設定方法の詳細については、「単一テーブルのモニタリングルールの設定」をご参照ください。
[モニター] タブで、[モニターを作成] をクリックします。
[データ範囲] を
dt=$[yyyymmdd-1]に設定します。説明データ範囲パラメーターの値が、その日にテーブルに対して生成されたパーティションに対応していることを確認してください。
[ルールを作成] をクリックします。ルールを作成パネルが開きます。
強制ルール (行数チェック) を設定します:[システムテンプレート] タブで、[テーブルが空でない] ルールを見つけて [使用] をクリックします。パネルの右側で、[重要度] を [強制ルール] に設定します。
説明ods_user_info_d_starrocksテーブルの行数が 0 であることが検出されると、アラートがトリガーされ、子孫ノードの実行がブロックされます。弱ルール (プライマリキーの一意性チェック) を設定します:[システムテンプレート] タブで、[一意の値。固定値] ルールを見つけて [使用] をクリックします。パネルの右側で、次の設定を行います:
設定 値 ルール スコープ uid(STRING)監視しきい値 (通常) 比較演算子: =、値:0[重要度] [弱ルール] [決定] をクリックして、両方のルールを保存します。
トリガーと処理ポリシーを設定します:
[トリガー方法] を [本番環境でのノードスケジューリングによってトリガー] に設定し、データ同期中に作成された
ods_user_info_d_starrocksノードを選択します。要件に応じて、処理ポリシーを [ノードの実行をブロック] または [受信者にアラート通知を送信] に設定します。
[保存] をクリックします。
ステップ 3:テストの実行
保存後、モニターが本番環境で実行される前に、ルールが期待どおりに動作することを確認します。
[ルール管理] タブの [モニターパースペクティブ] セクションで、作成したモニターを選択します。
タブの右側にある [テスト実行] をクリックします。
[テスト実行] ダイアログボックスで、[スケジューリング時間] パラメーターを設定し、[テスト実行] をクリックします。
テスト実行が完了したら、[詳細を表示] をクリックして、データが各ルールに合格するかどうかを確認します。
ステップ 4:アラートのサブスクリプション
ルールがトリガーされたときに通知を受け取るユーザーを設定します。
「モニター パースペクティブ」セクションの「ルール管理」タブで、モニターを選択します。
タブの右側にある[アラートサブスクリプション]をクリックします。
アラートサブスクリプションダイアログボックスで、[通知方法] と [受信者] パラメーターを設定し、[操作] 列の [保存] をクリックします。
後でサブスクリプションを表示または変更するには、左側のナビゲーションウィンドウで [品質O&M] > [モニター] に移動し、[マイサブスクリプション] を選択します。
次のステップ
データが処理された後、DataAnalysis を使用してダッシュボードでデータを可視化します。詳細については、「ダッシュボードでのデータの可視化」をご参照ください。