データ品質監視ノードを使用すると、監視ルールを設定してデータソース内のテーブルの品質をチェックできます。ダーティデータの検出、行数の検証、null 値のチェックなどが可能です。このノードはスケジューリングパイプラインの一部として実行され、データ品質の問題が検出されると下流タスクを自動的にブロックし、ダーティデータが Extract, Transform, and Load (ETL) パイプライン全体に伝播するのを防ぎます。
仕組み
データ品質監視ノードが実行されると、設定された各ルールが監視対象テーブルに対して評価されます。ルールチェックでアノマリーが返された場合、ノードは設定された処理ポリシーを適用します。つまり、現在のノードを停止して下流タスクをブロックするか、アラートを送信しながら続行するかのいずれかです。
制限事項
-
サポートされるデータソース: MaxCompute、E-MapReduce、Hologres、CDH Hive、AnalyticDB for PostgreSQL、AnalyticDB for MySQL、StarRocks
-
ノードごとに 1 つのテーブル: 各ノードは 1 つのテーブルを監視しますが、ノードに対して複数の監視ルールを設定できます。複数のテーブルを監視するには、複数のデータ品質監視ノードを作成します。
-
ワークスペースのバインド: 監視対象テーブルは、ノードと同じワークスペースにバインドされたデータソースに属している必要があります。
-
パーティションの監視: パーティションテーブルの場合は、パーティションフィルター式を指定します。非パーティション化テーブルの場合、デフォルトでテーブル全体が監視されます。
-
DataStudio でのみ管理されるルール: DataStudio で作成されたルールは、DataStudio でのみ実行、変更、公開、管理できます。Data Quality モジュールでは、これらのルールを表示することはできますが、定期実行をトリガーしたり、そこで管理したりすることはできません。
-
公開によるルールの置換: ノード内の監視ルールを変更してノードを再公開すると、元の監視ルールは置き換えられます。
前提条件
開始する前に、以下が準備されていることを確認してください。
-
データ開発 (DataStudio) でビジネスフローが作成されていること。詳細については、「ビジネスフローの作成」をご参照ください。
-
データソースが作成され、現在のワークスペースにバインドされており、ターゲットテーブルがデータソース内にすでに作成されていること。詳細については、「データソース管理」、「Resource Management」、「ノード開発」をご参照ください。
-
Serverless リソースグループが作成されていること。データ品質監視ノードは Serverless リソースグループでのみ実行されます。詳細については、「Resource Management」をご参照ください。
-
(オプション、RAM ユーザーの場合) タスク開発用の Resource Access Management (RAM) ユーザーが、[開発] または [ワークスペース管理者] ロールでワークスペースに追加されていること。ワークスペース管理者ロールには広範な権限があるため、慎重に付与する必要があります。詳細については、「ワークスペースメンバーの追加」をご参照ください。
ステップ 1:データ品質監視ノードの作成
-
DataWorks コンソールにログインします。上部のナビゲーションバーで、対象のリージョンを選択します。左側のナビゲーションウィンドウで、[データ開発と O&M] > [データ開発] を選択します。ドロップダウンリストから対象のワークスペースを選択し、[データ開発へ] をクリックします。
-
DataStudio で、対象のビジネスフローを右クリックし、[ノードの作成] > [データ品質] > [データ品質監視] を選択します。
-
[ノードの作成] ダイアログボックスで、名前を入力し、[確認] をクリックします。
ステップ 2:監視ルールの設定
ステップ 3:処理ポリシーの設定
ノード設定ページの [処理ポリシー] セクションで、チェックのアノマリーに対するノードの応答方法と通知の配信方法を設定します。
例外カテゴリと処理ポリシー
通知設定
ステップ 4:スケジューリングの設定
ノードを定期的に実行するには、右側のペインで [プロパティ] をクリックし、スケジューリングプロパティを設定します。詳細については、「ノードのスケジューリングプロパティの設定」をご参照ください。
ノードを送信する前に、[再実行] と [親ノード] のプロパティを設定してください。
ステップ 5:タスクのデバッグ
-
(オプション) リソースグループを選択し、スケジューリングパラメーターに値を割り当てます。ツールバーの
アイコンをクリックします。[パラメーター] ダイアログボックスで、スケジューリングリソースグループを選択し、タスクで使用されるスケジューリングパラメーターに値を割り当てます。詳細については、「タスクのデバッグプロセス」をご参照ください。
-
タスクを保存して実行します。[保存] アイコン
をクリックしてタスクを保存し、次に [実行] アイコン
をクリックして実行します。実行が完了したら、ノード設定ページの下部で結果を表示します。実行が失敗した場合は、エラーメッセージを確認してトラブルシューティングを行います。 -
(オプション) スモークテストを実行します。スケジューリングノードタスクが開発環境で期待通りに実行されることを確認するために、ノードを送信するとき、または送信後にスモークテストを実行します。詳細については、「スモークテストの実行」をご参照ください。
ステップ 6:タスクの送信と公開
ノードを送信して公開すると、設定された品質ルールも送信されて公開されます。公開後、ノードはスケジューリング設定に従って定期的に実行されます。
-
[保存] アイコン
をクリックしてノードを保存します。 -
[送信] アイコン
をクリックしてノードを送信します。[送信] ダイアログボックスで、[変更の説明] を入力します。必要に応じて、送信後にコードレビューを実行するかどうかを選択します。送信する前に [再実行] と [親ノード] のプロパティを設定してください。コードレビューは設定の品質を保証するのに役立ちます。送信されたノードは、レビュー担当者が承認した後にのみ公開できます。詳細については、「コードレビュー」をご参照ください。
-
標準モードのワークスペースを使用している場合は、ノード設定ページの右上隅にある [デプロイ] をクリックして、タスクを本番環境に公開します。詳細については、「タスクの公開」をご参照ください。
次のステップ
-
タスクの O&M: タスクが公開されると、定期的に実行されます。ノード設定ページの右上隅にある [オペレーションセンター] をクリックして、ノードのステータスやトリガーされたルールの詳細など、定期タスクのスケジューリングと実行ステータスを表示します。詳細については、「定期タスクの管理」をご参照ください。
-
[Data Quality]: 品質ルールが公開された後、Data Quality モジュールに移動してルールの詳細を表示します。ルールの変更や削除などの管理操作はそこでは利用できません。詳細については、「Data Quality」をご参照ください。