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

DataWorks:マージノード

最終更新日:Jun 23, 2026

このトピックでは、マージノードの概要、作成方法、設定方法について説明し、スケジューリングプロパティとランタイム動作の実用的な例を紹介します。

背景情報

マージノードは、DataStudio の論理コントロールノードの一種です。上流ノードの実行ステータスをマージして、ブランチノードの下流ノードにおける依存関係とトリガーの問題を解決します。

現在、マージノードの実行ステータスは [成功] にのみ設定できます。これにより、下流ノードはマージノードを単一の信頼性の高い依存関係として使用できます。

たとえば、ブランチノード C には、相互排他的な 2 つのブランチ C1 と C2 があるとします。各ブランチは、異なるロジックを使用して同じ MaxCompute テーブルに書き込みます。下流ノード B がこのテーブルの出力に依存する場合、まずマージノード J を使用してブランチを統合し、次に J を B の上流依存関係として設定する必要があります。B が C1 と C2 の両方に直接依存するように設定すると、ブランチ条件が満たされないため、いずれか一方のインスタンスステータスは常に [ブランチ未実行] となります。その結果、B も [ブランチ未実行] に設定されてドライラン状態になり、実行されません。後続のすべての下流ノードでも同じことが起こります。

制限事項

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

マージノードの作成

  1. DataStudio ページに移動します。

    DataWorks コンソールにログインします。対象のリージョンで、左側のナビゲーションウィンドウのデータ開発と О&М > データ開発をクリックします。ドロップダウンリストからワークスペースを選択し、入力 データ開発をクリックします。

  2. Create アイコンにカーソルを合わせ、Create Node > General > Merge Node をクリックします。

  3. Create Node ダイアログボックスで、ノードの Name を入力し、Path を選択します。

  4. OK をクリックします。

マージロジックの定義

マージノードを作成すると、その設定ページが開きます。このページを使用して、マージロジックを定義します。

  1. マージする上流ブランチノードを追加します。これらのノードは、マージノードの親ノードになります。

    Merged Branch エリアで、対応する親ノードをノード名、ノード ID、またはノードの出力で検索し、Add アイコンをクリックしてブランチノードとして追加します。

    説明

    複数のブランチノードをマージするには、ノードごとにこの手順を繰り返します。

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

    各ブランチノードのマージロジックと必須の実行ステータスを設定します。

    • マージロジックの条件は次のとおりです。

      • AND: Result エリアで設定される現在のノードの実行ステータスは、すべての上流ブランチノードの実行が完了し、設定された実行ステータスを満たした場合にのみ有効になります。

      • OR: Result エリアでこのノードに設定された実行状態は、すべての上流ノードが最終状態 (つまり、実行が完了した状態) にあり、かついずれかのブランチノードがその設定された実行状態を満たす場合にのみ有効になります。

    • 完了後に利用可能なノード実行ステータスは次のとおりです。

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

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

      • Branch Not Running: ノードが選択されておらず、ドライラン状態です。この状態では、ノードは成功とマークされますが、タスクは実際には実行されません。

        説明

        このステータスは、上流ノードがブランチノードの場合にのみ有効です。

  3. Result セクションで、現在のノードのランタイムステータスを設定します。

    説明

    現在のノードの実行ステータスは、Successful にしか設定できません。

例:

  • ブランチノード A と B を現在のマージノードの上流ノードとして追加します。

  • ノード A の実行ステータスがSuccessfulBranch Not Running、またはFailedに設定されることは、ノード A がその実行を完了するだけでよいことを意味します。

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

  • 論理演算子は AND に設定されています。

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

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

マージノードの例

ダウンストリームノードにアップストリームノードとしてブランチノードを追加すると、対応するブランチノードの出力を選択して、さまざまなブランチパスを定義できます。 たとえば、次の図に示すビジネスプロセスでは、[ブランチ 1][ブランチ 2] はブランチノードの 2 つのダウンストリームノードです。示例

[Branch 1]autotest.fenzhi121902_1 の出力に依存します。[Branch 1] ノードの [依存関係] 設定パネルで、[自動解析][はい] に設定し、手動で上流依存関係を追加します。[親ノード出力] を、親ノード [branch_node_121902] に対応する autotest_fenzhi121902_1 に設定します。

[Branch 2] は autotest.fenzhi121902_2 の出力に依存します。

実行結果

Operational Logsでは、ブランチ条件を満たし、実行対象として選択された下流ノードのランタイムステータスを表示できます。

Operational Logsでは、ブランチ条件を満たさず、実行対象として選択されなかったブランチの下流ノードが、スキップ済みとしてマークされていることを確認できます。

マージノードの下流ノードは期待どおりに実行されます。