このトピックでは、マージノードの概要、作成方法、マージロジックの定義方法について説明します。また、マージノードのスケジューリングプロパティを設定し、その実行詳細を表示する方法の例も示します。
ノードの概要
マージノードは、DataStudio の論理コントロールノードであり、その先祖ノードの実行ステータスをマージします。これにより、ブランチノードの子孫ノードの依存関係のアタッチや実行トリガーに関連する問題を解決できます。
マージノードのロジック定義では、マージノード自体の実行ステータスを選択することはできません。条件を定義することのみが可能で、その条件が満たされた場合にマージノードが成功状態になります。これにより、子孫ノードはマージノードに直接依存できます。
たとえば、ブランチノード C に論理的に相互排他的な 2 つのブランチ C1 と C2 があるとします。これらのブランチは、異なるロジックを使用して同じ MaxCompute テーブルにデータを書き込みます。子孫ノード B がこの MaxCompute テーブルからの出力に依存している場合、まずマージノード J を使用してブランチをマージする必要があります。次に、マージノード J をノード B の上流依存関係として設定する必要があります。ノード B をブランチ C1 と C2 に直接アタッチすると、ブランチの 1 つが常に条件を満たせず、そのインスタンスステータスは [ブランチ未選択] になります。その結果、上流依存関係の 1 つがスキップされたため、ノード B のステータスも [ブランチ未選択] になります。その後、ノードはドライラン状態になり、実行されません。これは、そのすべての子孫ノードにも当てはまります。
前提条件
使用する RAM ユーザーがワークスペースに追加されていること。
RAM ユーザーを使用してタスクを開発する場合、RAM ユーザーをメンバーとしてワークスペースに追加し、[Develop] または [Workspace Administrator] ロールを RAM ユーザーに割り当てる必要があります。Workspace Administrator ロールには必要以上の権限が含まれています。Workspace Administrator ロールを割り当てる際は注意してください。メンバーの追加方法とロールの割り当て方法の詳細については、「ワークスペースにメンバーを追加する」をご参照ください。
サーバーレスリソースグループがワークスペースに関連付けられていること。詳細については、「サーバーレスリソースグループの使用」ディレクトリのトピックをご参照ください。
開発する前にマージノードを作成する必要があります。詳細については、「定期タスクの作成」をご参照ください。
注意事項
マージノードは、DataWorks Standard Edition 以降のエディションでのみ使用できます。DataWorks の購入またはスペックアップの詳細については、「DataWorks のエディション」をご参照ください。
ステップ 1: マージノードを開発する
マージノードを作成したら、ノード設定タブに移動してマージロジックを定義します。以下のステップでは、ノードの設定方法について説明します。
マージロジック定義セクションで、マージするノードを検索して追加します。ノード出力、ノード ID、またはノード名でブランチノードを検索できます。
マージするノードを見つけたら、
アイコンをクリックして、ノードをマージ条件設定に追加します。説明複数のブランチノードをマージするには、各ノードでこのステップを繰り返します。
[マージ条件設定] セクションで、ブランチノードのマージ条件を設定します。
次のマージロジック条件を使用できます。
[AND]: すべての上流ブランチノードの実行が完了し、指定された実行ステータスを満たした場合にのみ、[結果設定] セクションで指定されたとおりにマージノードが成功としてマークされます。
[OR]: すべての上流ノードの実行が完了し、少なくとも 1 つのブランチノードが指定された実行ステータスを満たした場合、[結果設定] セクションで指定されたとおりにマージノードが成功としてマークされます。
完了したノードでは、次の実行ステータスを使用できます。
[成功]: ノードは正常に実行されました。
[失敗]: ノードの実行に失敗しました。
[ブランチ未実行]: ノードは実行対象として選択されず、ドライラン状態です。この状態では、ノードは正常に実行されたと見なされますが、タスクは実行されませんでした。
説明このステータスは、先祖ノードがブランチノードの場合にのみ有効です。
[結果設定] セクションで、現在のノードの実行ステータスを設定します。
説明現在のノードの実行ステータスは [成功] にのみ設定できます。

次の図は、以下の設定の例を示しています。
ノード
Branch 1とBranch 2が現在のマージノードの先祖ノードとして追加されます。ノード
Branch 1の条件は、そのステータスが [成功]、[ブランチ未実行]、または [失敗] の場合に満たされます。これは、結果に関係なく、ノードBranch 1の実行が完了している限り、条件が満たされることを意味します。ノード
Branch 2の条件は、そのステータスが [成功] または [ブランチ未実行] の場合に満たされます。これは、ノードBranch 2が失敗することなく実行を完了する必要があることを意味します。マージロジック条件は [AND] に設定されます。
これらの設定に基づき、現在のマージノードは、ノード
Branch 1の実行が完了し、かつノードBranch 2が失敗することなく実行を完了した場合にのみ [成功] としてマークされます。マージロジックを設定した後、ノード設定タブの右側のペインで [スケジューリングプロパティ] をクリックして、ノードのスケジューリングプロパティを設定します。詳細については、「スケジューリングプロパティの設定」をご参照ください。
ステップ 2: ノードをデプロイして O&M を実行する
スケジューリングプロパティを設定した後、完成したマージノードを送信して本番環境に公開します。詳細については、「ノードまたはワークフローのデプロイ」をご参照ください。
タスクが公開されると、スケジューリング設定に基づいて定期的に実行されます。 に移動して、公開された定期タスクを表示し、O&M 操作を実行できます。詳細については、「オペレーションセンターの概要」をご参照ください。