Python節點支援Python3文法(不支援Python2文法),您可以在該節點中直接使用Python代碼,並進行作業的周期性調度。本文為您介紹如何通過DataWorks實現Python任務的配置和調度。
前提條件
-
RAM帳號添加至對應空間(可選)。
進行任務開發的RAM帳號已被添加至對應工作空間中,並具有開發或空間管理員(許可權較大,謹慎添加)角色許可權。新增成員並授權,詳情請參見為工作空間增加空間成員。
-
對應空間已綁定Serverless資源群組。詳情請參見:使用Serverless資源群組。
進行Python節點開發前,需建立對應的Python節點,詳情請參見:建立調度工作流程的節點。
注意事項
運行該任務時,若使用Serverless資源群組,單任務支援最大配置
64CU,但建議不超過16CU,以避免CU過大導致資源不足,影響任務啟動。Python節點僅具備Python代碼基礎運行環境,如您需要在Python代碼中引用第三方包,請建立自訂鏡像,在鏡像中安裝相關依賴後,再運行Python節點。
步驟一:開發Python節點
Python節點開發。
編輯Python代碼。
以下代碼為簡單的冒泡排序。
def bubble_sort(arr): n = len(arr) # 外層迴圈控制每一次遍曆 for i in range(n): # 內層迴圈進行相鄰元素的比較和交換 for j in range(0, n-i-1): # 如果當前元素大於下一個元素,則交換 if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr # 測試代碼 if __name__ == "__main__": example_list = [64, 34, 25, 12, 22, 11, 90] sorted_list = bubble_sort(example_list) print("排序後的列表:", sorted_list)
完成代碼開發後,在右側單擊回合組態,選擇調試運行所需的資源群組等配置後,即可單擊
運行按鈕,對代碼進行測試回合。說明Python節點的調試和調度僅支援使用Serverless資源群組,請確保當前工作空間已綁定Serverless資源群組。詳情請參見:使用Serverless資源群組。
完成Python節點指令碼開發與測試後,需對Python節點進行調度配置,以實現Python節點的周期運行。
(可選)配置調度參數。
Python節點通過命令列方式接收調度參數。您可以在調度參數配置地區按順序添加參數值,多個參數使用空格分隔。在代碼中通過
sys.argv[1]、sys.argv[2]等索引依次擷取參數值。說明Python節點與PyODPS節點不同,不支援通過變數名直接引用參數(如 $var1),必須使用
sys.argv顯式讀取。調度參數需在節點提交發布後、通過調度執行個體運行(如周期調度、補資料)才會作為命令列參數追加並傳入,可通過
sys.argv讀取;在Data Studio中直接運行(調試運行)不會注入調度參數,此時sys.argv僅包含指令碼路徑,無法取到參數值。
定義參數樣本
$[yyyymmdd] abc使用參數樣本
import sys # 列印所有接收到的參數 print("當前接收的全部參數:", sys.argv) # 擷取第一個和第二個參數 param1 = sys.argv[1] param2 = sys.argv[2] print("參數1:", param1) print("參數2:", param2)
更多調度參數配置說明,請參見調度參數來源及其運算式。
完成任務調度配置後,需對節點進行儲存後,才可進行下一步操作。
步驟二:節點發布與營運
完成調度配置後,即可對已完成的Python節點提交發布至生產環境。
發布完成的任務,將按照您配置的任務調度進行周期運行,可在中查看發行的周期任務,並對任務進行營運操作,詳情請參見:營運中心入門。
個人開發環境開發工作單位
個人開發環境支援Python編程,如需使用個人開發環境編輯Python節點任務,詳情請參見個人開發環境。
通過關聯角色運行節點
支援關聯角色:安全訪問其他雲資源,使用特定RAM角色運行節點任務,實現許可權的細粒度控制和安全管控。