サイクル間の依存関係により、ノードが最後のサイクルのノードのインスタンスに依存できます。
DataWorks でサポートされているサイクル間の依存関係は以下のとおりです。
- 子ノードのインスタンスへの依存
- ノードの依存関係:現在のノードは、その子ノードの最後のサイクルのインスタンスに依存します。 たとえば、ノード A には 3 つの子ノード B、C、および D があります。このノード依存関係を選択した場合、ノード A はノード B、C、および D の最後のサイクルのインスタンスに依存します。
- 業務シナリオ:現在のノードは、その子ノードの最後のサイクルのインスタンスに依存して現在のノードの出力テーブルをクリアし、最終結果が正しく生成されるかどうかを確認します。
- 現在のノードのインスタンスへの依存
- ノードの依存関係:現在のノードは、最後のサイクルのインスタンスに依存します。
- 業務シナリオ:現在のノードは、最後のサイクルのインスタンスのデータ出力結果に依存します。
- カスタムノードのインスタンスへの依存:現在のノードが依存しているノードの ID を手動で入力する必要があります。 複数のノードを指定し、それらの ID をコンマ (,)
で区切ります。 例: 12345,23456
- ノードの依存関係:現在のノードは、カスタムノードの最終サイクルのインスタンスに依存します。
- 業務シナリオ:業務ロジックでは、現在のノードは、現在のノードで処理されない他の業務データの適正な出力に依存します。
ノードを非アクティブ化する前に、他のノードが正常に実行できるように、ノード依存関係をすべて削除する必要があります。
前の図の SQL 文によると、xc_create ノードは、xc_1 および xc_2 テーブルが存在しない場合はそれらを作成し、2 つのテーブルにデータを挿入します。 xc_1 および xc_2 テーブルは、xc_create ノードの出力です。
前の図の SQL 文によると、xc_select ノードは、xc_1 および xc_2 テーブルを照会します。 自動解析機能は、xc_select ノードの祖先ノードとして xc_create ノードを自動的に設定します。
サイクル間の依存関係:子ノードのインスタンス
ノードの依存関係:最後のサイクルの子ノードのインスタンスに依存します。 たとえば、ノード A には 3 つの子ノード、つまりノード B、C、および D があり、ノード A は最後のサイクルのノード B、C、および D のインスタンスに依存します。
業務シナリオ:現在のノードは、最後のサイクルの子ノードのインスタンスに依存して、現在のノードの出力テーブルをクリアします。 現在のノードは、子ノードが最後のサイクルで正常に実行された場合にのみ、現在のサイクルで実行を開始します。
サイクル間依存関係を選択し、xc_create ノードの子ノードのインスタンスに [依存する] と設定します。
サイクル間の依存関係:現在のノードのインスタンス
ノードの依存関係:現在のノードは、最後のサイクルでの現在のノードのインスタンスの実行ステータスに依存します。 現在のノードが最後のサイクルで終了していない場合、現在のノードは現在のサイクルで実行されません。
業務シナリオ:現在のノードは、最後のサイクルのデータクレンジング結果に依存します。 この例では、インスタンスの繰り返しは [時間] に設定されています。
サイクル間の依存関係:カスタムノードのインスタンス
ノードの依存関係:xc_information ノードの出力テーブルは、xc_create ノードのコードでは使用されません。 ただし、xc_create ノードは、業務ロジックに従って、最後のサイクルの xc_information ノードのデータ出力結果に依存します。 つまり、xc_create ノードは、最後のサイクルの xc_information ノードのインスタンスに依存します。
業務シナリオ:業務ロジックでは、xc_create ノードは最後のサイクルの xc_information ノードの適正なデータ出力に依存しますが、xc_create ノードは xc_information ノードの出力データを処理しません。
次の図によると、xc_information ノードの ID は 1000374815 です。
カスタムノードのインスタンスに [依存する] と設定し、xc_create ノードのノード ID 「1000374815」を入力します。
次の図は、
の下で依存関係がどのように表示されるかを示しています。