跨節點參數功能,允許任務間傳遞訊息。輸出節點(如SQL、Shell、Python任務)能輸出參數,輸入節點可以接收並使用這些參數,解決了通過公用儲存代理訊息的複雜性和低效問題。本文將為您介紹如何為跨節點輸出參數賦值。
背景介紹
Dataphin的節點(任務)依賴關係構成了一個有向非循環圖(DAG)。在過去,DAG的節點之間只能傳遞狀態資訊,即上遊節點的運行狀態會影響其下遊節點,而系統對節點自身的運行內容並不感知,也無法通過DAG將這些內容向下傳遞。如果下遊節點需要消費上遊節點的產出,必須依賴上遊節點將產出寫入公用儲存,隨後下遊節點再從公用儲存中讀取,最常用的公用位置為資料表。然而,通過公用儲存代理訊息存在以下不足:
公用儲存的寫入和讀取操作流程相對複雜,某些類型的節點甚至無法進行操作。例如,邏輯表節點的計算邏輯完全由欄位計算邏輯決定,因此無法單獨讀取公用儲存中的訊息。
將訊息寫入公用儲存並進行讀取的效率較低;若存在多個下遊節點需要使用該訊息,則每個節點均需獨立讀取訊息。此外,若訊息的儲存位置或格式發生變更,所有下遊節點都需同步調整其讀取方式。
中轉的訊息通常非常短小,通過中轉方式傳遞比較繁重。
為瞭解決以上問題,Dataphin引入了跨節點參數來在節點(任務)間傳遞訊息。
輸出節點:輸出參數(向外傳遞訊息)的節點。僅支援Shell、Python和SQL(包括 MaxCompute SQL、Hive SQL、AnalyticDB for PostgreSQL SQL等)類型的計算任務輸出參數。
輸入節點:接收並使用參數的節點。一個輸出節點可以串連多個輸入節點,只要是輸出節點的直接下遊節點,都可以引用輸出節點的跨節點參數。
跨節點輸出參數賦值說明
在跨節點輸出參數中聲明跨節點輸出參數後,可在代碼中對參數賦值。實際使用可參考跨節點參數最佳實務。
僅支援Shell、Python和SQL計算任務定義跨節點輸出參數。
整合任務、計算任務、普通/層級維度邏輯表、事實邏輯表的輸入參數支援跨節點變數參數。
任務類型 | 指派陳述式 | 右鍵菜單捷徑 |
Shell任務 | 在代碼中通過以下命令對跨節點參數賦值:
例如:
重要
| 在編輯器中滑鼠右鍵單擊並選擇設定跨節點參數。 |
Python任務 | 在代碼中通過以下命令對跨節點參數賦值:
例如:
重要
| 在編輯器中滑鼠右鍵單擊並選擇設定跨節點參數。
|
SQL任務 |
| 在編輯器中滑鼠右鍵單擊並選擇設定跨節點參數。
說明 AnalyticDB for PostgreSQL SQL任務不支援右鍵菜單捷徑,請手動輸入命令。 |


