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節點任務。結果如下: