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

DataWorks:スケジューリング依存関係の設定に関するベストプラクティス

最終更新日:Feb 26, 2026

スケジューリング依存関係を設定するには、親ノードの出力名を用いてノード間の依存関係を設定する必要があります。本トピックでは、スケジューリング依存関係における入力および出力の設定方法について説明します。

現在のノードの入力を設定

現在のノードの入力は、以下の 2 つの方法のいずれかで設定できます:

  • コードからノード依存関係を自動解析する機能(オートパース)を使用します。

  • ノード依存関係を手動で設定する場合は、親ノードの出力名を現在のノードの出力名として入力します。

配置本节点输入

説明

先祖ノードを手動で入力する場合、親ノードの出力名を現在のノードの出力名として入力してください。親ノードのノード名と出力名が異なる場合は、正しい出力名を必ず入力してください。

先祖ノードを設定する際には、その依存関係が有効かどうかを確認できます。自動解析された先祖ノードの依存関係が無効な場合は、親ノード ID 列に値が含まれているかを確認してください。

ノード依存関係を設定すると、2 つのノード間に依存関係が確立されます。存在するノードに対してのみ、有効な依存関係を設定できます。

無効な上流依存関係

無効な上流依存関係は、通常以下のいずれかの状況で発生します:

  • 親ノードが存在しません。父节点不存在

  • 親ノードの出力が存在しません。父节点输出不存在

解析された親ノードの出力名が存在しない場合、上流依存関係は無効となります。これは、先祖テーブルを生成するノードが存在しないか、またはそのテーブルを生成するノードの出力構成が正しくないために発生します。

この問題は、以下のいずれかの方法で解決できます:

  • 該当テーブルに出力タスクがあるかを確認します。

  • テーブルを生成するノードの出力名を特定し、その出力名を依存先の先祖ノードに手動で入力します。

説明

先祖ノードを手動で入力する場合、親ノードの出力名を現在のノードの出力名として使用してください。親ノードの名前と出力名が異なる場合は、正しい出力名を必ず入力してください。

たとえば、先祖ノード A の出力名が A1 である場合、子孫ノード B がノード A に依存しているとき、依存先の先祖ノードの入力欄に A1 を入力し、右側のプラス記号 (+) をクリックします。

上流依存関係を設定

テーブルに上流依存関係がない場合は、ワークスペースのルートノードを使用 をクリックして追加します。配置上游依赖

現在のノードの出力を設定

ノード名、現在のノードの出力名、出力テーブル名を同一の名前にすることも可能です。この方法により、現在のノードの出力を効率的に設定できます。

  • ノードがどのテーブルを対象に処理を行っているかを迅速に特定できます。

  • タスクの失敗による影響範囲を迅速に把握できます。

  • 現在のノードの出力が「ノード名・出力名・テーブル名の三つ一致」ルールに従う場合、タスク依存関係の自動解析精度が向上します。

自動解析

自動解析:コードからスケジューリング依存関係を自動的に解析します。

自動解析機能は、コードからテーブル名を取得し、そのテーブル名をもとに、対応する出力生成ノードを解析します。

以下は、タイプノードのコード例です。

INSERT OVERWRITE TABLE pm_table_a SELECT * FROM project_b_name.pm_table_b ;

以下のような依存関係が解析されます。image

  • pm_table_a が、現在のノードの出力として自動的に解析されます。

  • project_b_name.pmtable_b が、親ノードの出力名として自動的に解析されます。

DataWorks が依存関係を自動的に解析します。この例では、現在のノードは project_b_name 内で pm_table_b を生成するノードに依存しており、現在のノードは pm_table_a を生成します。したがって、親ノードの出力名は project_b_name.pm_table_b、現在のノードの出力名は project_name.pm_table_a となります。この例では、ワークスペース名は test_pm_01 です。

  • コードから解析された依存関係を使用しない場合は、いいえ を選択します。

  • t_ で始まるテーブル名(例:一時テーブル)は、スケジューリング依存関係として解析されません。プロジェクト設定で、どのテーブルを一時テーブルとして扱うかを指定できます。

  • コード内のテーブルが、出力テーブルでありながら参照テーブルでもある場合、そのテーブルは出力テーブルとしてのみ解析されます。

  • コード内でテーブルが複数回参照または生成される場合、スケジューリング依存関係は 1 つだけ解析されます。

説明

デフォルトでは、t_ で始まるテーブル名は、自動的に一時テーブルとして解析されます。t_ で始まるテーブルが一時テーブルでない場合は、ワークスペース構成 ページでプロジェクト管理者に連絡し、設定を変更してください。工作空间配置

テーブルの入力または出力を削除

Data Studio では、静的テーブルを使用することがあります。これらのテーブルには、ローカルファイルからアップロードされた静的データが格納されます。この静的データには、それを生成するノードが存在しません。

依存関係を設定する際には、静的テーブルの入力を削除する必要があります。テーブル名に t_ プレフィックスが付かないテーブルは、静的テーブル(一時テーブルではない)と見なされます。

コード内でテーブル名を右クリックし、入力の削除 を選択します。删除输入

説明

DataWorks V1.0 から DataWorks V2.0 へアップグレードした場合、移行された DataWorks タスクの現在のノードのデフォルト出力は workspace_name.node_name となります。