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

DataWorks:マージノード

最終更新日:Jun 23, 2026

このトピックでは、マージノードについて説明し、その作成方法とマージロジックの定義方法を解説します。また、実践的な例を用いて、スケジューリング設定とランタイムの詳細を説明します。

マージノードとは

  • マージノードは、Data Studio の論理制御ノードの一種です。上流ノードの実行ステータスを統合し、ブランチノードの下流にあるノードの依存関係やトリガーの問題を解決します。

  • 現在、マージノードの結果ステータスを定義することはできません。条件が満たされると、マージノードは常に成功ステータスを報告します。これにより、下流ノードは曖昧さなくマージノードに依存できます。

    たとえば、相互に排他的な 2 つのブランチ C1 と C2 を持つブランチノード C を考えます。各ブランチは、異なるロジックを使用して同じ MaxCompute テーブルに書き込みます。下流ノード B は、このテーブルの出力に依存します。これを処理するには、マージノード J を使用してブランチを統合する必要があります。次に、ノード B をマージノード J に依存させます。もしノード B を C1 と C2 の両方に直接依存させると、問題が発生します。ブランチは相互に排他的であるため、どちらか一方は常に [ブランチ未選択] のステータスになります。ノード B は、選択されなかったブランチからこのステータスを継承するため、同様に [ブランチ未選択] のステータスでスキップされます。ノードは実際には実行されず、この動作は後続のすべての下流ノードに伝播します。

前提条件

  • 使用する RAM ユーザーがワークスペースに追加されていること。

    RAM ユーザーを使用してタスクを開発する場合、その RAM ユーザーをメンバーとしてワークスペースに追加し、[開発] または [ワークスペース管理者] ロールを割り当てる必要があります。ワークスペース管理者ロールには必要以上の権限が含まれています。このロールを割り当てる際は注意してください。メンバーの追加とロールの割り当ての詳細については、「ワークスペースへのメンバーの追加」をご参照ください。

  • サーバーレスリソースグループがワークスペースに関連付けられていること。詳細については、「サーバーレスリソースグループの使用」ディレクトリ内のトピックをご参照ください。

  • マージノードが作成されていること。詳細については、「スケジューリングワークフローのノード作成」をご参照ください。

注意事項

マージノード機能は、DataWorks Standard Edition 以上でのみ利用可能です。DataWorks のエディションを購入またはアップグレードするには、「DataWorks のエディション別機能」をご参照ください。

ステップ 1: マージノードの開発

マージノードを作成した後、ノードの構成ページに移動してマージロジックを定義します。

  1. マージロジック定義セクションで、マージしたいノードを検索して追加します。ノード出力、ノード ID、またはノード名で検索できます。

  2. ノードを見つけたら、image アイコンをクリックして [マージ条件設定] セクションに追加します。

    説明

    複数のブランチノードをマージする必要がある場合は、ノードごとにこのステップを繰り返します。

  3. MERGE Condition で、ブランチノードのマージ条件を設定します。

    • マージロジック条件には以下が含まれます:

      • AND:すべての上流ブランチノードが最終状態に達し (つまり、実行が終了し)、かつ、すべてが設定された実行ステータスを満たす必要があります。その後、Result で設定したステータスが現在のノードに適用されます。

      • OR:すべての上流ノードが最終状態に達し (つまり、実行が終了し)、かつ、いずれかのブランチノードが設定された実行ステータスを満たす必要があります。その後、Result で設定したステータスが現在のノードに適用されます。

    • ノード完了ステータスには以下が含まれます:

      • Successful:ノードが正常に実行されました。

      • Failed:ノードの実行に失敗しました。

      • [ブランチ未選択]:ノードが選択されていません。成功としてマークされますが、実際には実行されません (ドライラン)。

        説明

        このステータスは、上流ノードがブランチノードの場合にのみ適用されます。

  4. Result セクションで、現在のノードの実行ステータスを設定します。

    説明

    現在、ノードのステータスは Successful にのみ設定できます。

    例:

    • ノード branch1branch2 を現在のマージノードの上流ノードとして追加します。

    • ノード Branch 1 の実行ステータスを SuccessfulBranch Not Running、または Failed に設定します。これは、ノード Branch 1 が実行を完了しさえすればよいことを意味します。

    • ノード Branch 2 の実行ステータスは、Successful または Branch Not Running に設定されます。これは、ノード Branch 2 の実行が完了し、Node B が失敗していないことを意味します。

    • マージロジック条件は AND に設定されます。

    現在のマージノードの Successful 実行ステータスは、ノード Branch 1 が実行を完了し、かつ Branch 2 が実行を完了して失敗しなかった場合にのみ有効になります。

  5. マージノードを開発した後、ノード構成ページの右側にある Scheduling Settings をクリックして、スケジューリングプロパティを設定します。詳細については、「ノードのスケジューリングプロパティの設定」をご参照ください。

ステップ 2: ノードの公開とメンテナンス

  1. スケジューリングプロパティを設定した後、マージノードを送信して本番環境に公開します。詳細については、「ノードまたはワークフローのデプロイ」をご参照ください。

  2. タスクがデプロイされると、スケジューリング設定に従って定期的に実行されます。Operation and Maintenance Center > ノード O&M > Auto Triggered Task O&M > Auto Triggered Task に移動して、デプロイされた定期タスクを表示および管理します。詳細については、「オペレーションセンター入門」をご参照ください。