分支節點是DataStudio中提供的邏輯控制系列節點中的一類。分支節點可以定義分支邏輯和不同邏輯條件時下遊分支走向。
注意事項
您需購買DataWorks標準版及以上版本,才可以使用分支節點。DataWorks版本介紹及購買,詳情請參見DataWorks各版本詳解。
分支節點最多可掛載50個分支。
通常分支節點需要配合賦值節點使用,詳情請參見賦值節點。
建立分支節點
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
滑鼠移至上方至表徵圖,單擊 。
您也可以開啟相應的商務程序,按右鍵
。在建立節點對話方塊,輸入節點名稱,並選擇路徑。
單擊確認。
定義分支邏輯。
在分支邏輯定義頁面,單擊添加分支。
在配置分支定義對話方塊中,配置各項參數。
參數
描述
分支條件
分支條件的說明如下:
分支條件僅支援按照Python比較子定義邏輯判斷條件。
如果運行態運算式取值為true,表示滿足對應的分支條件。
如果運行態運算式解析報錯,會將整個分支節點運行狀態置為失敗。
分支條件中支援使用全域變數和節點上下文定義的參數。例如,${input}可以是定義在分支節點的節點輸入參數。
關聯到節點輸出
關聯到節點輸出的說明如下:
節點輸出供分支節點下遊節點掛載依賴關係使用。
滿足分支條件時,對應的關聯的節點輸出上掛載的下遊節點被選中運行(同時需要參考該節點依賴的其它上遊節點的狀態)。
不滿足分支條件時,對應的關聯的節點輸出上掛載的下遊節點不會被選中執行,該下遊節點會被置成
因為分支條件不滿足而未運行
的狀態。
分支描述
對分支的定義進行簡要說明。例如,定義${input}==1和${input}>2兩個分支。
關聯到節點輸出的樣本如下。
例如,分支節點下遊關聯兩個節點,節點名稱分別為qqqq和wwww。當分支條件為1時,以qqqq節點邏輯運行。當分支條件為2時,以wwww節點邏輯運行。則配置分支節點時,關聯到節點輸出可以隨便配置。例如,分支1關聯節點輸出為1234,分支2關聯節點輸出為2324,則均會作為本分支節點的輸出名稱。下遊qqqq節點需要掛載分支節點的輸出名稱1234,wwww節點需要掛載分支節點的輸出名稱2324。
單擊確定。
添加分支後,您可以進行編輯和刪除操作:
單擊編輯,可以修改設定的分支,並且相關的依賴關係也會發生變化。
單擊刪除,可以刪除設定的分支,並且相關的依賴關係也會發生變化。
單擊節點編輯地區右側的調度配置,配置節點的調度屬性。
定義好分支條件後,會在
地區的本節點輸出名稱中,自動添加輸出名稱。下遊節點可以通過輸出名稱進行依賴掛載。說明由於空跑屬性會向下傳遞,不建議將自依賴的任務放置在分支鏈路上。是否沿用空跑屬性,詳情請參見是否沿用上遊的空跑屬性。
如果連線建立內容相關的依賴,在調度配置中沒有輸出記錄,請手動輸入。
提交並發布節點任務。
單擊工具列中的表徵圖,儲存節點。
單擊工具列中的表徵圖,提交節點任務。
在提交對話方塊中,輸入變更描述。
單擊確認。
如果您使用的是標準模式的工作空間,任務提交成功後,需要將任務發布至生產環境進行發布。請單擊頂部功能表列左側的任務發布。具體操作請參見發布任務。
查看周期調度任務。
單擊編輯介面右上方的營運,進入生產環境營運中心。
查看啟動並執行周期調度任務,詳情請參見查看並管理周期任務。
如果您需要查看更多周期調度任務詳情,可單擊頂部功能表列的營運中心,詳情請參見營運中心概述。
輸出樣本:下遊節點掛載分支節點
在下遊節點中,添加分支節點作為上遊節點後,通過選擇對應的分支節點輸出來定義不同條件下的分支走向。例如在下圖所示的商務程序中,分支1和分支2均為分支節點的兩個下遊節點。
分支1:依賴於autotest.fenzhi121902_1輸出。
分支2:依賴於autotest.fenzhi121902_2輸出。
提交調度至營運中心運行,分支節點滿足條件一(依賴於autotest.fenzhi121902_1),則日誌的列印結果如下:
您可以在作業記錄中查看滿足分支條件、被選中啟動並執行分支下遊節點的運行情況。
您可以在作業記錄中查看到不滿足分支條件、未被選中啟動並執行分支下遊節點,被置為跳過。
支援的Python比較子
以下假設變數a為10,變數b為20。
運算子 | 描述 | 樣本 |
== | 等於:比較對象是否相等。 | (a==b)返回false。 |
!= | 不等於:比較兩個對象是否不相等。 | (a!=b)返回true。 |
<> | 不等於:比較兩個對象是否不相等。 | (a<>b)返回true。這個運算子類似!=。 |
> | 大於:返回x是否大於y。 | (a>b)返回false。 |
< | 小於:返回x是否小於y。所有比較子返回1表示真,返回0表示假。這分別與特殊的變數True和False等價。 | (a<b)返回true。 |
>= | 大於等於:返回x是否大於等於y。 | (a>=b)返回false。 |
<= | 小於等於:返回x是否小於等於y。 | (a<=b)返回true。 |