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

DataWorks:マージノードを構成する

最終更新日:Jan 11, 2025

このトピックでは、マージノードの定義、マージノードの作成方法、およびマージロジックの定義方法について説明します。また、マージノードの構成方法と実行方法を示すサンプル マージノードも提供します。

背景情報

マージノードは、DataStudio の論理制御ノードの一種です。マージノードは、その祖先ノードの結果をマージできます。マージノードは、分岐ノードの子ノードの出力に依存するノードのスケジューリングを容易にすることを目的としています。

マージノードのステータスを変更することはできません。マージノードは、分岐ノードの複数の子ノードの結果をマージし、ステータスを「成功」に設定します。分岐ノードの子ノードの出力に依存するノードが適切にスケジューリングされるようにするには、マージノードに依存するようにノードを構成します。

たとえば、分岐ノード C には、論理的に排他的な 2 つの分岐 C1 と C2 があります。これらの 2 つの分岐は、異なるロジックを使用して同じ MaxCompute テーブルにデータを書き込みます。ノード B は、この MaxCompute テーブルの出力に依存するとします。ノード B が期待どおりに実行されるようにするには、マージノード J を使用して分岐 C1 と C2 の結果をマージし、次にマージノード J をノード B の親ノードとして構成する必要があります。ノード B が分岐 C1 と C2 に直接依存している場合、分岐ノード C が実行されるたびに 1 つの分岐のみが分岐条件を満たすため、分岐の 1 つは実行に失敗します。この場合、ノード B とその子孫ノードはスケジュールどおりにトリガーされません。

制限事項

マージノードは、DataWorks Standard Edition 以降のエディションでのみ使用できます。 DataWorks サービスの購入方法と DataWorks エディションのアップグレード方法については、DataWorks エディション間の違いをご参照ください。

マージノードを作成する

  1. [datastudio] ページに移動します。

    DataWorks コンソールにログオンします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションペインで、[データ開発とガバナンス] > [データ開発] を選択します。表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。

  2. スケジュールされたワークフローペインで、ポインターを 新建 アイコンの上に移動し、[ノードの作成] > [一般] > [マージノード] を選択します。

  3. [ノードの作成] ダイアログボックスで、[名前] パラメーターと [パス] パラメーターを構成します。

  4. [確認] をクリックします。

マージロジックを定義する

マージノードが作成されると、ノード構成タブが表示されます。ノードのマージロジックを定義します。归并节点运行逻辑

  1. 分岐をマージする必要がある分岐ノードを追加します。分岐ノードは、マージノードの祖先ノードになります。

    [マージされた分岐] ドロップダウンリストで、ノード名、ノード ID、またはノード出力で分岐ノードを検索し、添加 アイコンをクリックします。

    説明

    複数の分岐ノードの分岐をマージする必要がある場合は、この手順を繰り返して分岐ノードを 1 つずつ追加する必要があります。

  2. [マージ条件] セクションで、分岐ノードのマージ条件を構成します。

    分岐ノードのマージロジック条件と状態を構成する必要があります。

    • 次のマージロジック条件がサポートされています。

      • [AND][結果] セクションで指定されたノードステータスは、すべての祖先分岐ノードが実行され、指定された状態になっている場合にのみ有効になります。

      • [OR][結果] セクションで指定されたノードステータスは、すべての祖先分岐ノードが実行され、祖先分岐ノードが指定された状態になっている場合に有効になります。

    • 分岐ノードには、次の状態を指定できます。

      • [成功]

      • [失敗]

      • [分岐が実行されていない]

  3. [結果] セクションで、マージノードのステータスを指定します。

    説明

    マージノードのステータスは、[成功] にのみ設定できます。

前の図は、次の構成のマージノードを示しています。

  • 分岐ノード A と B が、マージノードの祖先ノードとして追加されます。

  • ノード A には、[成功][分岐が実行されていない]、および [失敗] の状態が指定されています。この場合、ノード A は結果に関係なく実行されるだけで済みます。

  • ノード B には、[成功][分岐が実行されていない] の状態が指定されています。この場合、ノード B は実行される必要があり、結果は「失敗」ではありません。

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

したがって、ノード A と B が実行され、ノード B の結果が「失敗」でない場合、マージノードの [成功] ステータスが有効になります。

ノード構成タブで、右側のナビゲーションペインの [プロパティ] タブをクリックします。マージノードのスケジューリングプロパティを構成します。詳細については、基本プロパティを構成するをご参照ください。

サンプル マージノード

子ノードを分岐ノードの異なる出力に関連付けて、異なる条件下で分岐を定義できます。たとえば、次の図に示すワークフローでは、[branch_1] 分岐と [branch_2] 分岐が分岐ノードの子ノードとして定義されています。示例

Branch_1 は、autotest.fenzhi121902_1 という名前の出力に依存しています。依赖

Branch_2 は、autotest.fenzhi121902_2 という名前の出力に依存しています。输出

ノードを実行する

Branch_1 の条件が満たされています。この分岐の子ノードが実行されます。 [ランタイムログ] タブで分岐を選択し、子ノードの実行の詳細を表示できます。

Branch_2 の条件が満たされていません。この分岐の子ノードはスキップされます。 [ランタイムログ] タブで分岐を選択し、関連情報を表示できます。

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