DataWorks的Shell類型節點支援運行Python指令碼。本文將為您介紹如何使用通用Shell節點或EMR Shell節點運行Python 2或Python 3指令碼。
背景資訊
DataWorks支援將Python指令碼作為資源上傳。您可以在通用Shell節點或EMR Shell節點中指定Python 3或Python 2的執行路徑,進而通過引用已上傳的資源來運行Python指令碼。
前提條件
EMR Shell節點使用前提條件,詳情請參見EMR Shell節點使用前提條件。
通用Shell節點使用前提條件,詳情請參見通用Shell節點使用前提條件。
在DataWorks資源群組本地運行Python指令碼時,代碼需要調用第三方包,需要根據任務使用的資源群組不同,採用不同方式在資源群組上準備第三方包環境:
說明您在建立第三方包時,需選擇支援
Python 2
和Python 3
的安裝包類型。
使用限制
EMR Shell節點使用限制,詳情請參見EMR Shell節點使用限制。
通用Shell節點使用限制,詳情請參見通用Shell節點使用限制。
通過Shell類型節點執行Python指令碼
DataWorks支援通過通用Shell節點或EMR Shell節點引用資源來執行Python指令碼。不同Python版本訪問路徑不一樣,例如:
Python 2:
python xx.py
。Python 3:
/home/tops/bin/python3 xx.py
。
下面為您詳細介紹兩種訪問路徑的使用方法,您可以根據業務需求選擇合適的節點方式來執行Python指令碼。
通用Shell節點執行Python指令碼
建立資源。
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
建立MaxCompute Python資源。
在資料開發頁面按右鍵目標商務程序,選擇建立資源,在MaxCompute目錄下選擇Python資源,輸入資源名稱
mc.py
進行建立。說明mc.py
為樣本資源名稱,您可根據實際業務情況進行調整。編輯MaxCompute Python資源。
進入MaxCompute Python資源節點編輯頁面,開發節點代碼,樣本如下:
Python 3樣本指令碼
print('This is a test text')
Python 2樣本指令碼
print "This is a test text"
單擊與,儲存並提交資源。
引用資源。
建立通用Shell節點。
在資料開發頁面按右鍵目標商務程序,選擇建立節點,在通用目錄下選擇Shell節點進行建立。
引用資源。
進入通用Shell節點編輯頁面,在
節點下,找到待引用資源mc.py
,右鍵選擇引用資源。通用Shell節點出現以下內容,引用成功。
結果驗證。
在通用Shell節點中用Python 3執行引用資源
編輯通用Shell節點。
在通用Shell節點中添加Python 3命令執行路徑。
##@resource_reference{"mc.py"} /home/tops/bin/python3 mc.py
點擊,選擇資源群組與自訂的鏡像資訊,執行通用Shell節點任務。結果如下:
在通用Shell節點中用Python 2執行引用資源
編輯通用Shell節點。
在通用Shell節點中添加Python 2命令執行路徑。
##@resource_reference{"mc.py"} python mc.py
點擊,選擇資源群組與自訂的鏡像資訊,執行通用Shell節點任務。結果如下:
EMR Shell節點執行Python指令碼
建立資源。
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
建立EMR File資源。
在資料開發頁面按右鍵目標商務程序,選擇建立資源,在EMR目錄下選擇File資源,選擇儲存路徑並點擊上傳本地的
emr.py
指令碼。樣本指令碼內容如下:Python 3樣本指令碼
print('This is a test text')
Python 2樣本指令碼
print "This is a test text"
說明emr.py
為樣本資源名稱,您可根據實際業務情況進行調整。單擊提交資源。
引用資源。
建立EMR Shell節點。
在資料開發頁面按右鍵目標商務程序,選擇建立節點,在EMR目錄下選擇EMR Shell節點進行建立。
引用EMR File資源。
進入EMR Shell節點編輯頁面,在
節點下,找到待引用資源emr.py
,右鍵選擇引用資源。EMR Shell節點出現以下內容,引用成功。
結果驗證。
在EMR Shell節點中用Python 3執行引用資源
編輯EMR Shell節點。
在EMR Shell節點中添加Python 3命令執行路徑
/home/tops/bin/python3
。##@resource_reference{"emr.py"} /home/tops/bin/python3 emr.py
點擊,選擇資源群組與自訂的鏡像資訊,執行EMR Shell節點任務。結果如下:
在EMR Shell節點中用Python 2執行引用資源
編輯EMR Shell節點。
在EMR Shell節點中添加Python 2命令執行路徑
python
。##@resource_reference{"emr.py"} python emr.py
點擊,選擇資源群組與自訂的鏡像資訊,執行EMR Shell節點任務。結果如下: