全部產品
Search
文件中心

DataWorks:Shell類型節點運行Python指令碼

更新時間:Nov 15, 2024

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指令碼時,代碼需要調用第三方包,需要根據任務使用的資源群組不同,採用不同方式在資源群組上準備第三方包環境:

    • Serverless資源群組(推薦):通過鏡像管理安裝第三方包,詳情請參見鏡像管理

    • 獨享調度資源群組:通過營運助手安裝第三方包,詳情請參見營運助手

    說明

    您在建立第三方包時,需選擇支援Python 2Python 3的安裝包類型。

使用限制

通過Shell類型節點執行Python指令碼

DataWorks支援通過通用Shell節點或EMR Shell節點引用資源來執行Python指令碼。不同Python版本訪問路徑不一樣,例如:

  • Python 2:python xx.py

  • Python 3:/home/tops/bin/python3 xx.py

下面為您詳細介紹兩種訪問路徑的使用方法,您可以根據業務需求選擇合適的節點方式來執行Python指令碼。

通用Shell節點執行Python指令碼

  1. 建立資源。

    1. 進入資料開發頁面。

      登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料開發與治理 > 資料開發,在下拉框中選擇對應工作空間後單擊進入資料開發

    2. 建立MaxCompute Python資源。

      在資料開發頁面按右鍵目標商務程序,選擇建立資源,在MaxCompute目錄下選擇Python資源,輸入資源名稱mc.py進行建立。

      說明

      mc.py為樣本資源名稱,您可根據實際業務情況進行調整。

    3. 編輯MaxCompute Python資源。

      進入MaxCompute Python資源節點編輯頁面,開發節點代碼,樣本如下:

      Python 3樣本指令碼

      print('This is a test text')

      Python 2樣本指令碼

      print "This is a test text"
    4. 單擊儲存提交,儲存並提交資源。

  2. 引用資源。

    1. 建立通用Shell節點。

      在資料開發頁面按右鍵目標商務程序,選擇建立節點,在通用目錄下選擇Shell節點進行建立。

    2. 引用資源。

      進入通用Shell節點編輯頁面,在MaxCompute > 資源節點下,找到待引用資源mc.py,右鍵選擇引用資源

      通用Shell節點出現以下內容,引用成功。

      image

  3. 結果驗證。

    在通用Shell節點中用Python 3執行引用資源

    1. 編輯通用Shell節點。

      在通用Shell節點中添加Python 3命令執行路徑。

      ##@resource_reference{"mc.py"}
      /home/tops/bin/python3 mc.py
    2. 點擊image,選擇資源群組與自訂的鏡像資訊,執行通用Shell節點任務。結果如下:

      image

    在通用Shell節點中用Python 2執行引用資源

    1. 編輯通用Shell節點。

      在通用Shell節點中添加Python 2命令執行路徑。

      ##@resource_reference{"mc.py"}
      python mc.py
    2. 點擊image,選擇資源群組與自訂的鏡像資訊,執行通用Shell節點任務。結果如下:

      image

EMR Shell節點執行Python指令碼

  1. 建立資源。

    1. 進入資料開發頁面。

      登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料開發與治理 > 資料開發,在下拉框中選擇對應工作空間後單擊進入資料開發

    2. 建立EMR File資源。

      在資料開發頁面按右鍵目標商務程序,選擇建立資源,在EMR目錄下選擇File資源,選擇儲存路徑點擊上傳本地的emr.py指令碼。樣本指令碼內容如下:

      Python 3樣本指令碼

      print('This is a test text')

      Python 2樣本指令碼

      print "This is a test text"
      說明

      emr.py為樣本資源名稱,您可根據實際業務情況進行調整。

    3. 單擊提交提交資源。

  2. 引用資源。

    1. 建立EMR Shell節點。

      在資料開發頁面按右鍵目標商務程序,選擇建立節點,在EMR目錄下選擇EMR Shell節點進行建立。

    2. 引用EMR File資源。

      進入EMR Shell節點編輯頁面,在EMR > 資源節點下,找到待引用資源emr.py,右鍵選擇引用資源

      EMR Shell節點出現以下內容,引用成功。

      image

  3. 結果驗證。

    在EMR Shell節點中用Python 3執行引用資源

    1. 編輯EMR Shell節點。

      在EMR Shell節點中添加Python 3命令執行路徑/home/tops/bin/python3

      ##@resource_reference{"emr.py"}
      /home/tops/bin/python3 emr.py
    2. 點擊image,選擇資源群組與自訂的鏡像資訊,執行EMR Shell節點任務。結果如下:

      image

    在EMR Shell節點中用Python 2執行引用資源

    1. 編輯EMR Shell節點。

      在EMR Shell節點中添加Python 2命令執行路徑python

      ##@resource_reference{"emr.py"}
      python emr.py
    2. 點擊image,選擇資源群組與自訂的鏡像資訊,執行EMR Shell節點任務。結果如下:

      image