サイクル間の依存関係により、ノードが最後のサイクルのノードのインスタンスに依存できます。

DataWorks でサポートされているサイクル間の依存関係は以下のとおりです。

  • 子ノードのインスタンスへの依存
    • ノードの依存関係:現在のノードは、その子ノードの最後のサイクルのインスタンスに依存します。 たとえば、ノード A には 3 つの子ノード B、C、および D があります。このノード依存関係を選択した場合、ノード A はノード B、C、および D の最後のサイクルのインスタンスに依存します。
    • 業務シナリオ:現在のノードは、その子ノードの最後のサイクルのインスタンスに依存して現在のノードの出力テーブルをクリアし、最終結果が正しく生成されるかどうかを確認します。
  • 現在のノードのインスタンスへの依存
    • ノードの依存関係:現在のノードは、最後のサイクルのインスタンスに依存します。
    • 業務シナリオ:現在のノードは、最後のサイクルのインスタンスのデータ出力結果に依存します。
  • カスタムノードのインスタンスへの依存:現在のノードが依存しているノードの ID を手動で入力する必要があります。 複数のノードを指定し、それらの ID をコンマ (,) で区切ります。 例: 12345,23456
    • ノードの依存関係:現在のノードは、カスタムノードの最終サイクルのインスタンスに依存します。
    • 業務シナリオ:業務ロジックでは、現在のノードは、現在のノードで処理されない他の業務データの適正な出力に依存します。
サイクル間依存関係と現在のサイクルの依存関係との違いは、サイクル間依存関係が点線でオペレーションセンターに表示されるという点です。

ノードを非アクティブ化する前に、他のノードが正常に実行できるように、ノード依存関係をすべて削除する必要があります。

例として、ワークフロー内の xc_create および xc_select ノードを取り上げます。 次の図は、2 つのノード間の依存関係を示しています。依存関係
次の図は、オペレーションセンターで依存関係がどのように表示されるかを示しています。依存関係

前の図の 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」を入力します。

次の図は、[オペレーションセンター] > [サイクルタスクメンテナンス] > [サイクルのインスタンス] の下で依存関係がどのように表示されるかを示しています。