DataWorks のデータ品質監視ノードを使用すると、ダーティデータのチェックなど、データソーステーブルのデータ品質を監視するためのルールを設定できます。また、カスタムのスケジューリングポリシーを定義して、検証タスクを定期的に実行することもできます。このトピックでは、データ品質監視ノードの使用方法について説明します。
背景情報
DataWorks の Data Quality 機能は、ソースデータの変更を検出し、抽出・変換・ロード (ETL) プロセス中に生成されるダーティデータを特定します。問題のあるタスクを自動的にブロックして、ダーティデータが下流ノードに伝播するのを防ぐことができます。これにより、通常の運用やビジネス上の意思決定に影響を与える可能性のある予期しないデータを防ぎます。また、トラブルシューティング時間を大幅に短縮し、タスクの再実行によるリソースコストの浪費を防ぎます。詳細については、「Data Quality」をご参照ください。
制限事項
-
サポートされているテーブルタイプ:MaxCompute、E-MapReduce、Hologres、CDH Hive、AnalyticDB for PostgreSQL、AnalyticDB for MySQL、StarRocks。
-
テーブルの監視範囲:
-
データ品質監視ノードと同じワークスペースにバインドされているデータソース内のテーブルのみを監視できます。
-
各ノードは 1 つのテーブルしか監視できませんが、そのテーブルに対して複数の監視ルールを設定できます。監視範囲はテーブルタイプによって異なります:
-
非パーティションテーブルの場合、デフォルトでテーブル全体が監視されます。
-
パーティションテーブルの場合、パーティションフィルター式を使用して監視するパーティションを指定する必要があります。
説明複数のテーブルを監視するには、複数のデータ品質監視ノードを作成してください。
-
-
-
操作の制限:
-
DataStudio で作成されたデータ品質監視ルールは、DataStudio でのみ実行、変更、公開、管理が可能です。これらのルールは Data Quality モジュールで表示できますが、そこで管理することはできません。
-
データ品質監視ノードの監視ルールを変更してノードを公開すると、元の監視ルールは置き換えられます。
-
前提条件
-
ビジネスフローが作成されていること。
DataStudio では、異なるデータソースの開発操作はビジネスフローに依存します。したがって、ノードを作成する前にビジネスフローを作成する必要があります。詳細については、「ビジネスフローの作成」をご参照ください。
-
データソースが作成され、現在のワークスペースにバインドされており、監視対象のテーブルがそのデータソースに存在すること。
データ品質監視タスクを実行する前に、監視したいテーブルをデータソースに作成してください。詳細については、「データソースの管理」、「コンピュートエンジンリソースの管理」、および「ノードの開発」をご参照ください。
-
リソースグループが作成されていること。
データ品質監視ノードは、Serverless リソースグループでのみ実行できます。詳細については、「リソースグループの管理」をご参照ください。
-
(オプション、RAM ユーザーの場合) タスク開発用の RAM ユーザーがワークスペースに追加され、開発者 または ストレージ管理者 のロールが付与されていること。ワークスペース管理者ロールは広範な権限を持つため、慎重に付与する必要があります。メンバーの追加と権限の付与に関する詳細については、「ワークスペースメンバーの追加」をご参照ください。
ステップ 1:データ品質監視ノードの作成
DataWorks コンソールにログインします。ターゲットリージョンで、左側のナビゲーションウィンドウの をクリックします。ドロップダウンリストからワークスペースを選択し、移動 データ開発 をクリックします。
-
ターゲットのビジネスフローを右クリックし、 を選択します。
-
ノードの作成 ダイアログボックスで、ノードの 名前 を入力し、確認 をクリックします。ノードが作成された後、ノードの設定ページでタスクを開発および設定できます。
ステップ 2:データ品質監視ルールの設定
1. 監視対象テーブルの選択
2. データ監視範囲の設定
3. 品質ルールの設定
4. 計算リソースの設定
ステップ 3:チェック結果に対するポリシーの設定
ノードエディターの 品質モニタリング対処 セクションで、データ品質ルールチェックからの例外の処理方法と通知のサブスクライブ方法を設定できます。
例外カテゴリ
例外処理ポリシー
例外通知メソッド
ステップ 4:タスクスケジューリングの設定
ノードタスクを定期的に実行する必要がある場合は、ノードエディターの右側にある スケジューリング設定 をクリックします。プロパティペインで、ビジネス要件に基づいてタスクのスケジューリング情報を設定します。詳細については、「ノードのスケジューリングプロパティの設定」をご参照ください。
ノードを送信する前に、再実行プロパティ と 依存する先祖ノード プロパティを設定する必要があります。
ステップ 5:タスクのデバッグ
必要に応じて、以下のデバッグ操作を実行して、タスクが期待どおりに実行されることを確認します。
-
(オプション) リソースグループを選択し、カスタムパラメーターに値を割り当てます。
-
ツールバーの
アイコンをクリックします。パラメーター ダイアログボックスで、デバッグに使用するスケジューリングリソースグループを選択します。 -
タスクがスケジューリングパラメーターを使用している場合、ここで変数に値を割り当ててデバッグできます。パラメーターの割り当てロジックの詳細については、「タスクのデバッグプロセス」をご参照ください。
以下は、スケジューリングパラメーター設定の例です:
データ品質ルール ページで、データ監視範囲 セクションのパーティションフィルター式を
ds=${param}に設定します。右側の スケジューリング設定 パネルの スケジューリングパラメーター セクションで、パラメーター名paramと値${yyyymmdd-1}を追加します。インスタンス生成モード を T+1 翌日 に設定します。
-
-
タスクを保存して実行します。
ツールバーの
アイコンをクリックしてタスクを保存します。
アイコンをクリックしてタスクを実行します。タスクが完了したら、ノードエディターの下部で実行結果を表示できます。実行が失敗した場合は、エラーメッセージに基づいて問題をトラブルシューティングします。
-
(オプション) スモークテストを実行します。
開発環境でスモークテストを実行して、スケジューリングノードタスクが期待どおりに実行されるかを確認したい場合は、ノードを送信するとき、または送信後にスモークテストを実行できます。詳細については、「スモークテストの実行」をご参照ください。
ステップ 6:タスクの送信とデプロイ
ノードタスクを設定した後、それを送信してデプロイする必要があります。タスクがデプロイされると、ノードはそのスケジューリング設定に基づいて定期的に実行されます。
ノードを送信してデプロイすると、設定された品質ルールも送信およびデプロイされます。
-
ツールバーの
アイコンをクリックしてノードを保存します。 -
ツールバーの
アイコンをクリックしてノードタスクを送信します。タスクを送信する際、コミット ダイアログボックスで 変更内容 を入力します。必要に応じて、ノード送信後にコードレビューを実行するかどうかも選択できます。
説明-
ノードを送信する前に、再実行プロパティ と 依存する先祖ノード プロパティを設定する必要があります。
-
コードレビューは、タスク設定の品質を管理し、未レビューのデプロイによるエラーを防ぐのに役立ちます。コードレビューを実行する場合、送信されたノードはレビュー担当者によって承認された後にのみデプロイできます。詳細については、「コードレビュー」をご参照ください。
-
標準モードのワークスペースを使用している場合、タスクが送信された後、ノードエディターの右上隅にある デプロイ をクリックする必要があります。これにより、タスクが本番環境にデプロイされます。詳細については、「タスクのデプロイ」をご参照ください。
次のステップ
-
運用保守:タスクが送信されデプロイされると、ノードの設定に基づいて定期的に実行されます。ノードエディターの右上隅にある 運用保守 をクリックしてオペレーションセンターに移動し、ノードのステータスやトリガーされたルールの詳細など、定期タスクのスケジューリングと実行ステータスを表示できます。詳細については、「定期タスクの管理」をご参照ください。
-
Data Quality:データ品質監視ルールがデプロイされた後、Data Quality モジュールに移動してルールの詳細を表示することもできます。ただし、ルールの変更や削除などの管理はできません。詳細については、「Data Quality」をご参照ください。