すべてのプロダクト
Search
ドキュメントセンター

DataWorks:データ品質監視ノード

最終更新日:Jul 30, 2026

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:データ品質監視ノードの作成

  1. DataWorks コンソールにログインします。ターゲットリージョンで、左側のナビゲーションウィンドウの データ開発と О&М > データ開発 をクリックします。ドロップダウンリストからワークスペースを選択し、移動 データ開発 をクリックします。

  2. ターゲットのビジネスフローを右クリックし、ノードの作成 > Data Quality > Data Quality モニタリング を選択します。

  3. ノードの作成 ダイアログボックスで、ノードの 名前 を入力し、確認 をクリックします。ノードが作成された後、ノードの設定ページでタスクを開発および設定できます。

ステップ 2:データ品質監視ルールの設定

1. 監視対象テーブルの選択

  1. データ品質ルール セクションで、テーブルの追加 をクリックします。

  2. テーブルの追加 ダイアログボックスで、データソースタイプ (MaxCompute など) を選択します。キーワードで検索するか、右側のフィルターパネル (環境、オーナー、作成時間) を使用してターゲットテーブルを見つけることができます。監視するテーブル (例:sales_maxframe_demo) を選択します。

  3. 確認 をクリックして追加を完了します。

2. データ監視範囲の設定

  • 非パーティションテーブルの場合、デフォルトでテーブル全体が監視されます。このステップはスキップできます。

  • パーティションテーブルの場合、パーティション範囲 ドロップダウンリストからパーティションフィルター式を選択します。スケジューリングパラメーター を使用できます。利用可能なオプションは次のとおりです:

    • ds=$[yyyymmdd] (日次パーティション)

    • ds=$[yyyymmdd]000000 (00:00:00 の日次パーティション)

    • ds=$[yyyymmdd-7] (7 日前のパーティション)

    • ds=$[hh24miss-1/24] (時間単位のパーティション)

    パーティションフィルター式を選択した後、右上隅の プレビュー をクリックして計算結果を表示します (例:時間パラメーターが 2024-07-25 16:27:15 の場合、ds=$[yyyymmdd] は ds=20240725 と計算されます)。結果を確認した後、下の 品質ルールの選択 セクションで ルールの作成 をクリックして監視ルールを設定します。

3. 品質ルールの設定

新しいルールを作成するか、既存のルールをインポートできます。デフォルトでは、設定されたルールは有効になっています。

  • 新しいルールの作成

    ルールの作成 をクリックして、テンプレートまたはカスタム SQL を使用してデータ品質監視ルールを作成します。以下のセクションでは、これらの方法について説明します。

    方法 1:システムテンプレートから作成

    プラットフォームには、さまざまな組み込みの監視ルールが用意されています。これらのルールテンプレートを使用して、データ品質監視ルールを迅速に作成できます。

    説明

    左側のシステムテンプレートリストで必要なルールテンプレートを見つけ、+使用 をクリックしてルールを作成することもできます。

    システムルールテンプレートのパラメーター

    パラメーター

    説明

    ルール名

    ルールのカスタム名。

    ルールテンプレート

    テーブルで実行するチェックの種類を定義します。

    DataWorks は、テーブルレベルとフィールドレベルの両方の監視用に、幅広い組み込みテンプレートを提供しています。詳細については、「組み込みルールテンプレートの表示」をご参照ください。

    説明

    平均値、合計値、最小値、最大値のテンプレートは、数値フィールドにのみ適用されます。

    ルール範囲

    ルールが適用される範囲。テーブルレベルのルールの場合、範囲はデフォルトで現在のテーブルになります。フィールドレベルのルールの場合、特定のフィールドを選択します。

    比較方法

    テーブルデータが期待値を満たしているかどうかをルールがどのようにチェックするかを定義します。

    • 手動設定:データ出力がルールとどのように比較されるかを手動で定義します。

      利用可能な比較方法は、ルールテンプレートによって異なります。実際に利用可能なオプションは UI に表示されます。

      • 数値型 の結果の場合、通常は出力を固定値 (期待値) と比較します。比較方法には、より大きい、以上、等しい、等しくない、未満、以下 があります。正常なデータの範囲 (正常しきい値) と異常なデータの範囲 (エラーしきい値) を定義できます。

      • バースト型 の結果の場合、通常は範囲比較を実行します。比較方法には、絶対値、上昇、下降 があります。正常なデータの範囲 (正常しきい値) を定義し、逸脱の度合いに基づいて異常のあるデータ (警告しきい値) と期待値を満たさないデータ (エラーしきい値) のしきい値も定義できます。

    • インテリジェント動的しきい値:変動のしきい値や期待値を手動で設定する必要はありません。システムはインテリジェントアルゴリズムを使用して、妥当なしきい値を決定します。データ異常が検出された場合、アラートがトリガーされるか、タスクがブロックされます。動的しきい値は、強ルールと弱ルールもサポートしています。

      説明

      カスタム SQL、カスタム範囲、および動的しきい値 のデータ品質ルールのみが、インテリジェント動的しきい値の比較方法をサポートしています。

    モニタリングしきい値

    • 比較方法 を 手動設定 に設定した場合、正常しきい値 と エラーしきい値 を指定できます。

      • 正常しきい値:チェック結果がこの値を満たす場合、データは検証に合格します。

      • エラーしきい値:チェック結果がこの値を満たす場合、データは期待値を満たしていません。

    • ルールが バースト型 チェックの場合、警告しきい値 を指定する必要があります。

      • 警告しきい値:データ品質チェックの結果がここで設定された値を満たす場合、データに異常が存在するが、ビジネス運用には影響しないことを示します。

    問題データの保持

    有効なルールがチェックに失敗した場合、システムは特定された問題データを保存するためのテーブルを自動的に作成します。

    重要
    • この機能は現在、MaxCompute および Hologres テーブルでサポートされています。

    • 一部のデータ品質監視ルールのみがこの機能をサポートしています。

    • ルールが 無効化 の場合、問題データは保持されません。

    有効状態

    有効化 と 無効化 のステータスは、ルールが本番環境で実行されるかどうかを制御します。

    重要

    ステータスが 無効化 に設定されている場合、ルールはテスト実行をトリガーできず、関連するスケジューリングタスクによってもトリガーされません。

    重要度

    ビジネスワークフローにおけるルールの重要性。

    • 強ルール:クリティカルなルール。エラーアラートが発生した場合、システムはデフォルトで関連する定期タスクをブロックします。

    • 弱ルール:標準的なルール。エラーアラートが発生した場合、システムはデフォルトで関連する定期タスクをブロックしません。

    構成ソース

    ルール設定のソース。デフォルトは Data Quality です。

    説明

    ルールの説明を追加できます。

    方法 2:カスタムテンプレートから作成

    この方法を使用する前に、Data Quality > 品質アセット > ルールテンプレートライブラリ に移動してカスタムルールテンプレートを作成します。その後、そのテンプレートに基づいてデータ品質監視ルールを作成できます。詳細については、「カスタムルールテンプレートの作成と管理」をご参照ください。

    カスタムテンプレートからデータ品質ルールを作成するには、次の手順を実行します:

    1. + カスタム SQL をクリックします。

    2. 右側のルール設定フォームで、ルール名 を入力し、ルールテンプレート を選択し、必要に応じて フラグパラメーター、SQL、比較方法 (手動設定 または インテリジェント動的しきい値)、モニタリングしきい値 (正常しきい値とエラーしきい値)、有効化ステータス、重要度、および 説明 パラメーターを設定します。

    3. 確認 をクリックします。

    説明

    左側のカスタムテンプレートリストで必要なルールテンプレートを見つけ、+使用 をクリックしてルールを作成することもできます。

    カスタムルールテンプレートのパラメーター

    このセクションでは、カスタムルールテンプレートに固有のパラメーターのみを説明します。その他のパラメーターについては、システムルールテンプレートのパラメーター説明をご参照ください。

    パラメーター

    説明

    フラグパラメーター

    データ品質チェック SQL が実行される前に実行する必要がある SET コマンドを定義します。

    SQL

    完全な SQL チェックロジックを定義します。クエリは単一の数値を返す必要があります。

    カスタム SQL では、角括弧を使用してテーブルのパーティションフィルター式に一致させます。例:

    SELECT count(*) FROM ${tableName} WHERE ds=$[yyyymmdd];
    説明
    • システムは ${tableName} 変数を監視対象テーブルの名前に動的に置き換えます。

    • パーティションフィルター式の設定方法の詳細については、「」をご参照ください。

    • テーブルに対して 品質監視 ルールを作成した場合、この方法でルールを設定すると、品質監視設定で設定された タイムスタンプ範囲 は有効になりません。ルールは、この SQL ステートメントの WHERE 句を使用して、チェックするテーブルパーティションを決定します。

    方法 3:カスタム SQL から作成

    この方法では、テーブルのカスタムデータ品質チェックロジックを定義できます。

    +カスタム SQL をクリックします。ルール設定フォームで、ルール名を入力し、フラグパラメーターと SQL ステートメントを設定し、比較方法 (例:固定値と比較) と監視しきい値を設定し、重要度レベルやその他のパラメーターを選択してから、確認 をクリックしてルールを作成します。

    カスタム SQL パラメーター

    このセクションでは、カスタム SQL に固有のパラメーターのみを説明します。その他のパラメーターについては、システムルールテンプレートのパラメーター説明をご参照ください。

    パラメーター

    説明

    フラグパラメーター

    データ品質チェック SQL が実行される前に実行する必要がある SET コマンドを定義します。

    SQL

    完全な SQL チェックロジックを定義します。クエリは単一行単一列を返し、結果は数値である必要があります。

    カスタム SQL では、角括弧を使用してテーブルのパーティションフィルター式に一致させます。例:

    SELECT count(*) FROM <table_name> WHERE ds=$[yyyymmdd];
    説明
    • <table_name> をターゲットテーブルの名前に置き換える必要があります。この SQL ステートメントは、どのテーブルが監視されるかを決定します。

    • パーティションフィルター式の設定方法の詳細については、「」をご参照ください。

    • テーブルに対して 品質監視 ルールを作成した場合、この方法でルールを設定すると、品質監視設定で設定された タイムスタンプ範囲 は有効になりません。ルールは、この SQL ステートメントの WHERE 句を使用して、チェックするテーブルパーティションを決定します。

  • 既存ルールのインポート

    ターゲットテーブルの監視ルールが Data Quality モジュールに既に存在する場合、それらをインポートしてルールを迅速に複製できます。ルールが存在しない場合は、まず Data Quality モジュールで作成する必要があります。詳細については、「単一テーブルのルールの設定」をご参照ください。

    説明

    この方法では、複数のルールをバッチでインポートでき、フィールドレベルで監視ルールを設定できます。

    インポートルール をクリックします。ルール ID または名前、ルールテンプレート、または関連する範囲 (テーブル全体または特定のフィールド) でインポートするルールを検索して選択できます。

説明

データ品質監視ノード を公開した後、Data Quality モジュールでその品質監視ルールの詳細を表示できます。ただし、そのモジュールでルールの変更や削除などの管理操作は実行できません。

4. 計算リソースの設定

品質ルールチェックを実行するために必要な計算リソースを選択します。これにより、データ品質監視タスクが実行されるデータソースが指定されます。デフォルトでは、監視対象テーブルのデータソースが使用されます。

説明

別のデータソースを選択する場合は、そのデータソースがテーブルへのアクセス権限を持っていることを確認してください。

ステップ 3:チェック結果に対するポリシーの設定

ノードエディターの 品質モニタリング対処 セクションで、データ品質ルールチェックからの例外の処理方法と通知のサブスクライブ方法を設定できます。

例外カテゴリ

次の表に、チェック例外のカテゴリを示します。

例外カテゴリ

説明

強ルール - チェック失敗

  • 重要度 (強/弱):ルールの重要性を示します。

  • 赤色異常:チェック結果がクリティカルしきい値をトリガーしました。これは通常、下流の操作に影響を与える可能性のある深刻な問題を示します。

  • オレンジ色の異常:チェック結果が警告しきい値をトリガーしました。これは通常、下流の操作に影響を与えない可能性のある軽微な問題を示します。

  • 検証に失敗しました。:品質チェックの実行に失敗しました。たとえば、監視対象のパーティションが生成されなかった場合や、チェック用の SQL クエリが失敗した場合に発生します。

強ルール - エラーアラート

強ルール - 警告アラート

弱ルール - チェック失敗

弱ルール - エラーアラート

弱ルール - 警告アラート

例外処理ポリシー

必要に応じて、ルールチェックで見つかった例外を処理するポリシーを設定します:

  • 無視しない:特定の例外カテゴリ (例:強ルールのエラーアラート) が検出されたときに、現在のノードを停止し、そのステータスを失敗に設定するようにシステムを設定します。

    説明
    • 現在のノードが失敗すると、その下流ノードは実行されません。これにより、本番パイプラインがブロックされ、問題のあるデータが広がるのを防ぎます。

    • 検出のために複数の例外カテゴリを追加できます。

    • このポリシーは通常、例外が大きな影響を与え、下流タスクの実行をブロックする必要がある場合に使用されます。

  • 無視する:例外を無視し、下流ノードの実行を続行します。

例外通知メソッド

メールなど、例外通知の受信方法を設定できます。例外が発生すると、プラットフォームは指定された方法で通知を送信するため、迅速に例外を見つけて処理できます。

説明

プラットフォームは複数の通知方法をサポートしています。UI で利用可能な方法は異なる場合があります。次の点にご注意ください:

  • メール、メールと SMS、および電話の場合、現在のアカウント内のユーザーのみを受信者として選択できます。関連担当者のメールアドレスまたは電話番号が正しく設定されていることを確認してください。詳細については、「アラート連絡先の表示と設定」をご参照ください。

  • その他の方法については、Webhook URL を入力する必要があります。Webhook URL の取得方法については、「Webhook URL の取得」をご参照ください。

ステップ 4:タスクスケジューリングの設定

ノードタスクを定期的に実行する必要がある場合は、ノードエディターの右側にある スケジューリング設定 をクリックします。プロパティペインで、ビジネス要件に基づいてタスクのスケジューリング情報を設定します。詳細については、「ノードのスケジューリングプロパティの設定」をご参照ください。

説明

ノードを送信する前に、再実行プロパティ と 依存する先祖ノード プロパティを設定する必要があります。

ステップ 5:タスクのデバッグ

必要に応じて、以下のデバッグ操作を実行して、タスクが期待どおりに実行されることを確認します。

  1. (オプション) リソースグループを選択し、カスタムパラメーターに値を割り当てます。

    • ツールバーの 高级运行 アイコンをクリックします。パラメーター ダイアログボックスで、デバッグに使用するスケジューリングリソースグループを選択します。

    • タスクがスケジューリングパラメーターを使用している場合、ここで変数に値を割り当ててデバッグできます。パラメーターの割り当てロジックの詳細については、「タスクのデバッグプロセス」をご参照ください。

      以下は、スケジューリングパラメーター設定の例です:

      データ品質ルール ページで、データ監視範囲 セクションのパーティションフィルター式を ds=${param} に設定します。右側の スケジューリング設定 パネルの スケジューリングパラメーター セクションで、パラメーター名 param と値 ${yyyymmdd-1} を追加します。インスタンス生成モード を T+1 翌日 に設定します。

  2. タスクを保存して実行します。

    ツールバーの 保存 アイコンをクリックしてタスクを保存します。运行 アイコンをクリックしてタスクを実行します。

    タスクが完了したら、ノードエディターの下部で実行結果を表示できます。実行が失敗した場合は、エラーメッセージに基づいて問題をトラブルシューティングします。

  3. (オプション) スモークテストを実行します。

    開発環境でスモークテストを実行して、スケジューリングノードタスクが期待どおりに実行されるかを確認したい場合は、ノードを送信するとき、または送信後にスモークテストを実行できます。詳細については、「スモークテストの実行」をご参照ください。

ステップ 6:タスクの送信とデプロイ

ノードタスクを設定した後、それを送信してデプロイする必要があります。タスクがデプロイされると、ノードはそのスケジューリング設定に基づいて定期的に実行されます。

説明

ノードを送信してデプロイすると、設定された品質ルールも送信およびデプロイされます。

  1. ツールバーの 保存 アイコンをクリックしてノードを保存します。

  2. ツールバーの 提交 アイコンをクリックしてノードタスクを送信します。

    タスクを送信する際、コミット ダイアログボックスで 変更内容 を入力します。必要に応じて、ノード送信後にコードレビューを実行するかどうかも選択できます。

    説明
    • ノードを送信する前に、再実行プロパティ と 依存する先祖ノード プロパティを設定する必要があります。

    • コードレビューは、タスク設定の品質を管理し、未レビューのデプロイによるエラーを防ぐのに役立ちます。コードレビューを実行する場合、送信されたノードはレビュー担当者によって承認された後にのみデプロイできます。詳細については、「コードレビュー」をご参照ください。

標準モードのワークスペースを使用している場合、タスクが送信された後、ノードエディターの右上隅にある デプロイ をクリックする必要があります。これにより、タスクが本番環境にデプロイされます。詳細については、「タスクのデプロイ」をご参照ください。

次のステップ

  • 運用保守:タスクが送信されデプロイされると、ノードの設定に基づいて定期的に実行されます。ノードエディターの右上隅にある 運用保守 をクリックしてオペレーションセンターに移動し、ノードのステータスやトリガーされたルールの詳細など、定期タスクのスケジューリングと実行ステータスを表示できます。詳細については、「定期タスクの管理」をご参照ください。

  • Data Quality:データ品質監視ルールがデプロイされた後、Data Quality モジュールに移動してルールの詳細を表示することもできます。ただし、ルールの変更や削除などの管理はできません。詳細については、「Data Quality」をご参照ください。