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

:データ比較

最終更新日:Oct 29, 2025

DataWorks は、複数の方法で異なるテーブル間のデータを比較できるデータ比較ノードを提供します。ワークフローでデータ比較ノードを使用できます。このトピックでは、データ比較ノードを使用してタスクを開発する方法について説明します。

ノードの紹介

データ比較ノードは、データ統合だけでなく、テーブル間の比較もサポートします。また、カスタムの比較範囲とカスタムの比較メトリックもサポートしており、より包括的なデータ比較が可能です。

制限事項

Serverless リソースグループのみがサポートされています。Serverless リソースグループの追加と使用方法の詳細については、「Serverless リソースグループの追加と使用」をご参照ください。

I. データ比較ノードの作成

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

  1. 左側のナビゲーションウィンドウで、image をクリックしてデータ開発にアクセスします。[プロジェクトディレクトリ] の右側で image をクリックし、[ノードの作成] > [Data Quality] > [データ比較] を選択します。インターフェイスのプロンプトに従ってノードのパスと名前の情報を入力し、ノードの作成を完了します。

II. データ比較ノードの構成

1. 比較テーブル情報の設定

データ比較ノードでは、比較テーブル情報を簡単に構成するだけで、異なるデータソースのテーブルデータを比較できます。構成の詳細は次のとおりです。

パラメーター

説明

リソースグループ

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

タスクリソースの使用量

データ比較ノードの実行に割り当てられる計算ユニット (CU) の数。必要に応じてこのパラメーターを構成できます。

データソースタイプ

ソーステーブルと宛先テーブルがそれぞれ属するデータソースのタイプを選択します。

データソース名

ソーステーブルと宛先テーブルがそれぞれ属するデータソースを選択します。

接続性

構成が完了したら、[テスト] をクリックして、データソースがリソースグループに接続されているかどうかを確認します。

テーブル名

ドロップダウンリストから比較するソーステーブルと宛先テーブルを選択します。

Where フィルター

ソーステーブルと宛先テーブルのデータをフィルターするための WHERE 条件を入力します。

説明
  • 構成時に WHERE キーワードを入力する必要はありません。

  • パーティションテーブルを比較する場合、実行前にパーティションを指定することをお勧めします。そうしないと、次のエラーが発生します: Semantic analysis exception - physical plan generation failed: Table(<MaxCompute project name>,<table name>) is full scan with all partitions, please specify partition predicates

シャードキー

ソーステーブルの列をシャードキーとして指定します。プライマリキーまたはインデックス付きの列をシャードキーとして使用することをお勧めします。

2. 比較ルールの構成

比較ルールは [メトリックベースの比較] または [全文比較] に設定でき、異なる比較ルールを使用してデータソースとターゲットを比較できます。

メトリックベースの比較

  • [テーブルレベルの比較]:

    [テーブル行数比較]: メトリックベースの比較はテーブルレベルの比較をサポートしており、テーブルの行数を比較できます。比較結果の差分率がエラーしきい値パラメーターで指定された差分しきい値未満の場合、比較は成功と見なされます。

    説明

    エラーしきい値は、[パーセンテージ][絶対値]、および [完全一致] の判断方法をサポートしています。

  • [フィールドレベルの比較]:

    フィールドレベルの比較では、デフォルトで同じ名前のフィールドが比較されます。ソーステーブルと宛先テーブルのフィールド名が異なる場合は、[比較フィールドの追加] ボタンをクリックして、比較するソースフィールドと宛先フィールドを手動で選択できます。

    • [ソースフィールド]: 比較したいソーステーブルからフィールドを選択します。

    • [宛先フィールド]: 比較したい宛先テーブルからフィールドを選択します。

    • [比較メトリック]: 比較メトリックには、[MAX][AVG][MIN][SUM] の 4 つの一般的な比較メトリックが含まれます。

      • ソーステーブルと宛先テーブルのフィールドのペアに対して、複数の比較メトリックを構成できます。

      • 異なる比較メトリックに対して、エラーしきい値と無視されるオブジェクトのパラメーターを異なる値に設定できます。

    • [エラーしきい値]: ソーステーブルと宛先テーブルを比較する際に生成される差分率は、構成された差分率と比較されます。比較結果の差分率がエラーしきい値未満の場合、比較は成功と見なされます。[パーセンテージ][絶対値][完全一致] の 3 種類のしきい値を使用して比較できます。

      説明
      • [エラーしきい値の絶対値] = |ソーステーブルのメトリック値 - 宛先テーブルのメトリック値|

      • [エラーしきい値] パーセンテージ = (|ソーステーブルのメトリック値 - 宛先テーブルのメトリック値|) / ソーステーブルのメトリック値 × 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 の形式でストレージテーブルを生成します。

    • [トンネルクォータ]: ドロップダウンリストから MaxCompute のデータ転送リソースを選択します。詳細については、「データ統合専用リソースグループの購入と使用」をご参照ください。

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

ルール構成を完了した後、ページの右側にある [スケジューリング構成] をクリックして、データ比較ノードのスケジューリングを構成できます。構成の詳細については、「ノードのスケジューリングを構成する」をご参照ください。

III. デプロイメントと操作

1. データ比較ノードのデプロイ

データ比較ノードのタスクが構成された後、ノードをコミットしてデプロイする必要があります。ノードをコミットしてデプロイすると、システムはスケジューリング構成に基づいて定期的にノードを実行します。

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

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

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

2. データ比較ノードの操作

データ比較ノードが正常にデプロイされた後、オペレーションセンターでノードに対する操作を実行できます。詳細については、「オペレーションセンター」をご参照ください。

3. データ検証レポートの表示

次の方法で、タスク実行ログのデータ検証レポートを表示できます:

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

    1. ページの左上隅にある image ボタンをクリックし、[すべての製品] > [データ開発と運用] > [オペレーションセンター (ワークフロー)] を選択してオペレーションセンターに入ります。

    2. オペレーションセンターの左側のナビゲーションウィンドウで、[周期タスクメンテナンス] > [周期インスタンス] をクリックして、データ比較ノードによって生成されたインスタンスを表示します。[操作] 列の [その他] をクリックし、[実行ログの表示] を選択します。

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

  • ログタブで表示:

    データ開発ページでデータ比較ノードのみを実行する場合、データ開発ページで下の画像に示されているリンクをクリックすると、データ検証レポートページにリダイレクトされます。

    image