このチュートリアルでは、DataWorks の Data Quality で、日次スケジュール実行されるデータ同期ノード向けにデータ品質モニタリングルールを設定する手順について説明します。完了後、ods_user_info_d_emr テーブルに対して以下の 2 つのモニタリングルールが有効になります:1 つはデータが到着しない場合に子孫ノードの実行をブロックするルール、もう 1 つはビジネス用プライマリキーの重複が検出された際にアラートを通知するルールです。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
Data Integration を使用して、ApsaraDB RDS for MySQL のテーブル
ods_user_info_dを E-MapReduce (EMR) の Hive テーブルods_user_info_d_emrに同期済みであることData Integration を使用して、Object Storage Service (OSS) 内の
user_log.txtファイルを EMR の Hive テーブルods_raw_log_d_emrに同期済みであることData Studio で収集したデータを基本的なユーザープロファイルデータに加工済みであること
モニタリング要件
Data Quality は、ユーザープロファイル分析パイプラインにおけるソースデータの変化および抽出・変換・書き出し(ETL)プロセスで発生するダーティデータをモニタリングします。以下の表に、パイプライン内の各テーブルに対するモニタリング要件を示します。
テーブル | モニタリング要件 |
| 強制ルール:日次レコード数 > 0 |
| 強制ルール:日次レコード数 > 0;弱ルール:ビジネス用プライマリキーが日次で一意であること |
| モニタリングルールなし |
| モニタリングルールなし |
| ルールによる日次レコード数の変動モニタリング(日次ユニークビジター数を追跡) |
本チュートリアルでは、ods_user_info_d_emr に焦点を当てます。
ステップ 1:テーブル別構成ページを開く
DataWorks コンソールにログインします。上部ナビゲーションバーからリージョンを選択し、左側ナビゲーションウィンドウで データガバナンス > Data Quality を選択します。ドロップダウンリストからワークスペースを選択し、Data Quality へ移動 をクリックします。
Data Quality ページの左側ナビゲーションウィンドウで、ルールの構成 > テーブル別構成 を選択します。
テーブル別構成 ページで、接続 セクションから E-MapReduce を選択し、右側で
ods_user_info_d_emrを検索します。検索結果の一覧で、操作 列の ルール管理 をクリックします。テーブル品質詳細 ページが開きます。
ステップ 2:モニタリングルールの構成
ods_user_info_d_emr の日次パーティションを対象とするモニターを構成し、そのモニターに 2 つのルールを追加します。
モニタリング範囲の選択
モニター タブで、モニターの作成 をクリックします。
データ範囲 を
dt=$[yyyymmdd-1]に設定します。この式は、当日実行される日次スケジューリングノードによって生成されるパーティションを対象とします。パーティションの命名規則が異なる場合は、適宜調整してください。
モニタリングルールの追加
以下の 2 つのルールを追加します。詳細な構成手順については、「単一テーブル向けモニタリングルールの構成」をご参照ください。
ルール 1:レコード数チェック(強制ルール — 失敗時に子孫ノードをブロック)
モニターの作成 ページで、ルールの作成 をクリックします。ルールの作成 パネルが開きます。
システムテンプレート タブで、テーブルが空でない を見つけ、使用 をクリックします。
重要度 を 強制ルール に設定します。このルールが失敗した場合(レコード数 = 0)、Data Quality はアラートをトリガーし、子孫ノードの実行がブロックされます。
ルール 2:ビジネス用プライマリキーの一意性チェック(弱ルール — アラートのみ)
システムテンプレート タブで、一意の値(固定値) を見つけ、使用 をクリックします。
ルールパラメーターを以下のように構成します:
パラメーター
値
ルール範囲
uid(STRING)モニタリングしきい値 — 正常しきい値
比較演算子:
=、値:0重要度
弱ルール
決定 をクリックしてモニタリングルールを保存します。
トリガーメソッドの設定
トリガーメソッド を 本番環境でのノードスケジューリングによるトリガー に設定し、データ同期中に作成した ods_user_info_d_emr ノードを選択します。
失敗時の処理ポリシーの設定
要件に応じて、以下のいずれか、または両方のオプションを選択します:
オプション | 動作 |
子孫ノードをブロック | 強制ルールが失敗した場合、パイプラインの実行を停止します |
アラート通知を送信 | 任意のルールが失敗した際に、指定された受信者に通知します |
保存 をクリックしてモニター構成を保存します。
ステップ 3:モニターのテスト実行
本番環境でのスケジューリングが開始される前に、ルールが期待通りに機能することを確認するためにテストを実行します。
ルール管理 タブの モニターパースペクティブ セクションで、作成したモニターを選択します。
右側の テスト実行 をクリックします。テスト実行 ダイアログボックスが開きます。
スケジューリング時刻 を設定し、テスト実行 をクリックします。
テスト実行が完了したら、詳細の表示 をクリックして、各ルールに対してデータが合格しているかどうかを確認します。
ステップ 4:アラートのサブスクライブ
ルール違反が検出された際にアラート通知を受信するユーザーを構成します。
ルール管理 タブの モニターパースペクティブ セクションで、モニターを選択します。
右側の アラートサブスクリプション をクリックします。
アラートサブスクリプション ダイアログボックスで、通知方法 および 受信者 を構成し、操作 列の 保存 をクリックします。
サブスクリプションの確認または更新を行うには、左側ナビゲーションウィンドウで 品質 O&M > モニター を選択し、モニターページで マイサブスクリプション を選択して、サブスクライブ済みのモニターを表示および変更します。
次のステップ
パイプラインの実行後、DataAnalysis を使用して加工済みデータから視覚化ダッシュボードを作成します。「データの可視化」をご参照ください。