開發與維運

DataWorks百問百答32:如何使用分支節點?

分支節點是DataStudio中提供的邏輯控制系列節點中的一類,分支節點可以對上游賦值節點的輸入參數進行判斷,以此定義分支邏輯和不同邏輯條件時下游分支走向。

創建分支節點

1、在業務流程,通用節點中右鍵新建 分支節點
dataworks32-14.png

2、在新建節點對話框中,輸入節點名稱,並選擇目標文件夾。
說明: 節點名稱必須是大小寫字母、中文、數字、下劃線(_)和小數點(.),且不能超過128個字符。

dataworks32-13.png

配置分支節點

1、設置上游依賴關係

進入節點後,到右側調度配置界面,設置上游賦值節點依賴關係

dataworks32-12.png

2、定義分支邏輯

 在分支邏輯定義頁面,單擊添加分支,在彈出的配置分支定義對話框中,配置各項參數,參數解釋如下:<br />

dataworks32-11.png

參數 描述
分支條件 分支條件的說明如下:
- 分支條件僅支持按照Python比較運算符定義邏輯判斷條件。
- 如果運行態表達式取值為true,表示滿足對應的分支條件。
- 如果運行態表達式解析報錯,會將整個分支節點運行狀態置為失敗。
- 分支條件中支持使用全局變量和節點上下文定義的參數。例如,${input}可以是定義在分支節點的節點輸入參數。
關聯到節點輸出 關聯到節點輸出的說明如下:
- 節點輸出供分支節點下游節點掛載依賴關係使用。
- 滿足分支條件時,對應的關聯的節點輸出上掛載的下游節點被選中運行(同時需要參考該節點依賴的其它上游節點的狀態)。
- 不滿足分支條件時,對應的關聯的節點輸出上掛載的下游節點不會被選中執行,該下游節點會被置成因為分支條件不滿足而未運行的狀態。
分支描述 對分支的定義進行簡要說明。例如,定義${input}==1${input}>2兩個分支。

說明:分支條件支持的Python比較運算符
以下假設變量a為10,變量b為20。
注:字符型的判斷,加上單引號即可,如:'${xx}' == 'xxx')

運算符 描述 示例
== 等於:比較對象是否相等。 (a==b)返回false。
!= 不等於:比較兩個對象是否不相等。 (a!=b)返回true。
<> 不等於:比較兩個對象是否不相等。 (a<>b)返回true。這個運算符類似!=。
> 大於:返回x是否大於y。 (a>b)返回false。
< 小於:返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。 (a
>= 大於等於:返回x是否大於等於y。 (a>=b)返回false。
<= 小於等於:返回x是否小於等於y。 (a<=b)返回true。

3、配置節點上下文參數

本節點輸入參數,取值來源為上游賦值節點輸出參數:outputs

dataworks32-10.png

本節點輸出參數,是分支節點中系統默認添加的,取值由實際運行時決定

dataworks32-9.png

4、鏈路分析

dataworks32-8.png

  • 當賦值節點輸出為 a 時,走分支1下游所掛節點
  • 當賦值節點輸出為 b 時,走分支2下游所掛節點

分支下游節點依賴設置

創建兩個普通的sql節點:分支a、分支b,寫好sql邏輯後,分別在上游父節點依賴中,掛上關聯的不同分支節點輸出:

dataworks32-7.png

dataworks32-6.png

發佈至運維調度

所有鏈路依賴關係設置完成後,將賦值節點、分支節點、分支下游sql節點都提交發布至運維中心,週期任務中展現依賴關係如下:
dataworks32-5.png

1、賦值節點日誌輸出情況:

dataworks32-4.png

上游賦值節點輸出為:a

2、分支節點日誌情況:

dataworks32-3.png

分支1判斷為true,下游sql節點走分支a的鏈路

3、分支下游sql節點日誌情況:

dataworks32-2.png

  • “分支a”實例狀態為:實例運行成功,可在運行日誌中看下詳細運行日誌狀態

dataworks32-1.png

  • “分支b”實例狀態為:分支未被選中,運行日誌中狀態表現為該分支被跳過運行:

It's set condition-skip by task(706606933700-分支_xhb)

DataWorks百問百答歷史記錄 請點擊這裡查看>>

更多DataWorks技術和產品信息,歡迎加入【DataWorks釘釘交流群】

Leave a Reply

Your email address will not be published. Required fields are marked *