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

DataWorks:I/O とリネージの不一致

最終更新日:Mar 03, 2026

問題の説明

ノードを送信すると、「入出力がコードの血縁分析と一致しません」というエラーがシステムから報告されます。Kinship analysis checkError message

考えられる原因

このエラーは、コードの `SELECT` 文内のテーブルが、設定された親ノードの依存関係と一致しない場合、または `INSERT` 文や `CREATE` 文内のテーブルが、現在のノードに設定された出力と一致しない場合に発生します。

例:

  • 送信したノードのコードに `table2` という名前のテーブルに対する `SELECT` 文が含まれていますが、`table2` が親ノードの依存関係として設定されていません。

  • 送信したノードの出力として `doc_test` が設定されていますが、ノードのコードに `doc_test` という名前のテーブルに対する `INSERT` 文または `CREATE` 文が含まれていません。

ソリューション

  • 定期的に生成されないテーブルについては、このメッセージを無視してノードを送信できます。

    DataWorks のスケジューリングの依存関係により、スケジューリングノードによって更新されるテーブルのデータは最新の状態に保たれます。プラットフォームは、DataWorks のスケジューリングシステムによって更新されないテーブルを監視できません。ノードのコードが、定期的なスケジュールによって生成されないテーブルからデータを選択する場合、`SELECT` 文から自動的に生成された先祖ノードの依存関係設定を削除できます。定期的なスケジュールによって生成されないテーブルには、以下のようなものがあります。

    • ローカルコンピューターから DataWorks にアップロードされたテーブル

    • ディメンションテーブル

    • DataWorks のスケジューリングによって生成されないテーブル

    • ワンタイムタスクによって生成されたテーブル

  • 定期的にデータが投入されるテーブルについては、データリネージとスケジューリングの依存関係が一致していることを確認してください。

    確認せずにノードを強制的に送信すると、次のような影響が生じる可能性があります。

    • 例えば、コードがスケジューリングノードによって毎日生成されるテーブル A からデータを選択するとします。現在のノードの親ノード依存関係としてテーブル A を追加しない場合、スケジューリングの依存関係は作成されません。テーブル A を生成するノードが失敗すると、子孫ノードは、テーブル A のノードが前回正常に実行された際の古いデータを使用してしまい、データエラーを引き起こす可能性があります。

    • 例えば、コードがテーブル B を作成またはデータを挿入するにもかかわらず、テーブル B を現在のノードの出力として設定しないとします。別のノードがテーブル B からデータを選択すると、システムはこの関係を自動的に解析し、そのノードの入力としてテーブル B を追加します。これにより依存関係が作成されます。しかし、システムはこの依存関係を介してテーブル B を生成するノードを見つけることができません。ノードを送信すると、「現在のノードが依存する親ノードの出力名が存在しません」というエラーが発生します。詳細については、「ノード送信エラー:現在のノードが依存する親ノードの出力名が存在しません」をご参照ください。