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

DataWorks:データ比較

最終更新日:Feb 25, 2026

DataWorks のデータ比較ノードを使用すると、さまざまな方法で複数のテーブル間のデータを比較でき、その結果をワークフローに追加できます。本ドキュメントでは、このノードを用いたタスクの作成手順について説明します。

概要

データ比較ノードは、データ統合内に限定されない、直接的なテーブル間比較をサポートします。比較範囲をカスタマイズしたり、独自のメトリックを定義したりすることで、より柔軟なデータ分析が可能です。

制限事項

このノードは、Serverless リソースグループのみをサポートします。Serverless リソースグループの使用方法については、「Serverless リソースグループの使用」をご参照ください。

ステップ 1:データ比較ノードの作成

    1. DataWorks コンソールの ワークスペース ページに移動します。トップナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[操作] 列で [ショートカット] > DataStudio を選択します。

  1. 左側のナビゲーションウィンドウで、image をクリックして、「Data Development」に移動します。[プロジェクトディレクトリ] の右側で、image をクリックし、「ノードの作成 > Data Quality > データ比較」を選択します。画面上の指示に従って、ノードのパスと名前を入力し、ノードを作成します。

ステップ 2:データ比較ノードの構成

1. テーブル情報の構成

比較対象のテーブルを指定することで、データ比較ノードを構成できます。以下の表にパラメーターを示します。

パラメーター

説明

リソースグループ

ドロップダウンリストから既存のリソースグループを選択します。

タスクのリソース使用量

データ比較ノード実行時のリソース消費量を調整します。

データソースの種類

比較対象のソースおよびデスティネーションテーブルのデータソースの種類を選択します。

データソース名

ソースおよびデスティネーションテーブルのデータソースを選択します。

接続性

構成後に、テスト をクリックして、リソースグループへの接続を確認します。

テーブル名

ドロップダウンリストから、比較対象のソースおよびデスティネーションテーブルを選択します。

説明

MaxCompute データソースの場合、スキーマも選択できます。

Where フィルター

比較対象のソースおよびデスティネーションテーブルのデータをフィルター処理します。

説明
  • WHERE キーワードは入力不要です。

  • パーティションテーブルの場合は、全表スキャンを回避するためにパーティションを明示的に指定する必要があります。指定しない場合、タスクは次のエラーで失敗します:セマンティック分析例外 - 物理プラン生成失敗:テーブル(<MaxCompute プロジェクト名>,<テーブル名>) がすべてのパーティションを対象とした全表スキャンです。パーティション述語を指定してください

シャードキー

ソーステーブルのシャードキーを構成します。ノードはこの列を用いてデータを分割します。プライマリキーまたはインデックス付き列をシャードキーとして使用することを推奨します。

2. 比較ルールの構成

ソースおよびデスティネーションテーブル間のデータ比較には、メトリックベース比較 または 全文比較 のいずれかを選択できます。

メトリック比較

  • テーブルレベル比較

    テーブル行数比較:テーブル間の総行数を比較します。差異が指定されたエラーしきい値以内であれば、比較は成功します。

    説明

    エラーしきい値 は、パーセンテージ絶対値、または 完全一致 のいずれかで設定できます。

  • カラムレベル比較

    デフォルトでは、同名のカラムが自動的に比較されます。ソースとデスティネーションのカラム名が異なる場合は、比較フィールドの追加 をクリックして、ソースフィールドデスティネーションフィールド を手動でマッピングします。

    • ソースフィールド:比較対象の ソース テーブルからカラムを選択します。

    • デスティネーションフィールド:比較対象の デスティネーション テーブルからカラムを選択します。

    • 比較メトリック:一般的なメトリック(MAXAVGMINSUM)が含まれます。

      • 1 組のソース・デスティネーションカラムに対して、複数の比較メトリックを設定できます。

      • 各比較メトリックごとに、異なるエラーしきい値および無視オプションを設定できます。

    • エラーしきい値:計算された差異がこのしきい値以内であれば、比較は成功します。しきい値は、パーセンテージ絶対値、または 完全一致 のいずれかで設定できます。

      説明
      • エラーしきい値(絶対値) = |ソースメトリック値 - デスティネーションメトリック値|

      • エラーしきい値(パーセンテージ) = (|ソースメトリック値 - デスティネーションメトリック値|) / ソースメトリック値 × 100%

    • 無視オプション:無視可能なオプションは、比較対象のカラムのデータの型によって異なります:

      カラムの型

      サポートされる無視オプション

      整数型(例:INTBIGINT

      NULL 値と値 0 の差異 を無視できます。

      文字列型(例:STRINGVARCHARTEXT

      NULL 値と空文字列の差異 を無視できます。

      数値型(整数および浮動小数点を含む)

      • 比較時に 浮動小数点精度 を設定できます。

      • NULL 値と値 0 の差異 を無視できます。

      • 小数部の末尾ゼロを無視 できます。

      整数と文字列の比較

      小数部の末尾ゼロを無視 できます。

      整数と浮動小数点の比較

      • 小数部の末尾ゼロを無視 できます。

      • NULL 値と値 0 の差異 を無視できます。

      浮動小数点と文字列の比較

      小数部の末尾ゼロを無視 できます。

    • 操作:不要なカラムマッピングを削除できます。

  • カスタム比較

    ソースおよびデスティネーションテーブルの比較にカスタム SQL 比較メトリックを追加できます。以下の手順に従って構成します:

    1. カスタム SQL 比較メトリックの追加 をクリックしてメトリックを追加します。メトリック名は変更可能です。

      image

    2. エラーしきい値 を必要に応じて構成します。これは パーセンテージ絶対値、または 完全一致 のいずれかで設定できます。

    3. しきい値を設定した後、カスタム SQL 列の **[構成]** をクリックして、ソースおよびデスティネーションテーブルのカスタムメトリックを算出する SQL クエリを記述します。

    4. 構成が完了したら、OK をクリックします。

全文比較

  1. 比較方法を「全文比較」に設定すると、全文比較方法 を調整することで、異なる比較結果を得られます。

    • デスティネーションデータにソースデータが含まれる:ソーステーブルの各行がデスティネーションテーブルに存在する場合、比較は成功します。この場合、デスティネーションテーブルの行数はソーステーブルより多くなる可能性があります。

    • 行単位比較:ソースおよびデスティネーションテーブルを行単位で比較し、行数および内容の差異を確認します。

      行単位比較を構成する際は、必ず エラーしきい値 を設定する必要があります。しきい値は パーセンテージ絶対値、または 完全一致 のいずれかで設定できます。

      説明
      • エラーしきい値(絶対値) = |ソースメトリック値 - デスティネーションメトリック値|

      • エラーしきい値(パーセンテージ) = (|ソースメトリック値 - デスティネーションメトリック値|) / ソースメトリック値 × 100%

  2. 全文比較方法 を構成した後、比較対象のカラムを選択します。デフォルトでは、同名のカラムが自動的にマッピングされます。異なる名前のカラムを比較する場合は、**[比較フィールドの追加]** をクリックして、ソースフィールドデスティネーションフィールド を手動で選択します。

    • ソースフィールド:比較対象のソーステーブルからカラムを選択します。

    • デスティネーションフィールド:比較対象のデスティネーションテーブルからカラムを選択します。

    • 比較用プライマリキー:全文比較では、他のカラムの内容を比較する前に行をマッチさせるために、プライマリキーが必要です。

    • 無視オプション:無視可能なオプションは、比較対象のカラムのデータの型によって異なります:

      カラムの型

      サポートされる無視オプション

      整数型(例:INTBIGINT

      NULL 値と値 0 の差異 を無視できます。

      文字列型(例:STRINGVARCHARTEXT

      NULL 値と空文字列の差異 を無視できます。

      数値型(整数および浮動小数点を含む)

      • 比較時に 浮動小数点精度 を設定できます。

      • NULL 値と値 0 の差異 を無視できます。

      • 小数部の末尾ゼロを無視 できます。

      整数と文字列の比較

      小数部の末尾ゼロを無視 できます。

      整数と浮動小数点の比較

      • 小数部の末尾ゼロを無視 できます。

      • NULL 値と値 0 の差異 を無視できます。

      浮動小数点と文字列の比較

      小数部の末尾ゼロを無視 できます。

    • 操作:不要なカラムマッピングを 削除 できます。

  3. 全文比較の結果は、ユーザーが構成したデータソースに保存されます。これにより、タスク実行後に詳細な行単位の差異を確認できます。

    • データソースの種類:MaxCompute データソースのみがサポートされます。

    • データソース名:ドロップダウンリストから、ワークスペースにバインド済みの MaxCompute データソースを選択します。

    • 接続確認:選択した MaxCompute データソースが、テーブル比較用に構成済みのリソースグループに接続可能であることを確認します。

    • ストレージテーブルストレージテーブルの生成 をクリックして、data_comparison_xxxxxx 形式のテーブルを作成します。

    • Tunnel クォータ:MaxCompute データ転送リソースを選択します。詳細については、「専用データ転送サービスリソースグループの購入および利用」をご参照ください。

3. スケジューリング構成

ルールを構成した後、ページ右側の スケジューリング構成 をクリックして、ノードのスケジューリングプロパティを設定します。詳細については、「ノードのスケジューリング構成」をご参照ください。

ステップ 3:デプロイおよび運用保守

1. ノードのデプロイ

ノードを構成した後、コミットしてデプロイします。デプロイ後は、スケジューリング構成に基づき定期的に実行されます。

  1. 上部ツールバーの image アイコンをクリックして、ノードを **[保存]** します。

  2. 上部ツールバーの image アイコンをクリックして、ノードを **[デプロイ]** します。

ノードのデプロイに関する詳細な手順については、「ノードまたはワークフローのデプロイ」をご参照ください。

2. ノードの運用保守

Data Comparison ノードをデプロイした後、オペレーションセンターで O&M 作業を実行できます。詳細については、「オペレーションセンター」をご参照ください。

3. 検証レポートの表示

タスクの実行ログからデータ検証レポートを表示できます。以下のいずれかの方法でアクセスできます:

  • オペレーションセンターでは:

    1. 左上隅の image アイコンをクリックし、すべての製品 > データ開発および運用 > オペレーションセンター(ワークフロー) へと移動します。

    2. オペレーションセンターの左側にあるナビゲーションウィンドウで、[周期タスクのメンテナンス] > [周期インスタンス] を選択します。データ比較ノードのインスタンスを見つけ、[その他] をクリックし、[実行ログの表示] を選択します。

    3. ログページで、データ比較 タブをクリックしてレポートを表示します。

  • 実行ログから:

    Data Development ページから Data Comparison ノードを実行した場合、実行ログ内のリンク(図参照)をクリックすると、データ検証レポートが開きます。

    image