為了滿足豐富的Python應用情境,Dataphin支援建立可以使用Python文法的PYTHON計算任務。本文為您介紹如何基於Dataphin建立PYTHON計算任務。
背景資訊
Python 3.7更能滿足更多樣化的巨量資料處理的訴求,例如,Python 3.7支援Python 2.7不支援的list.clear()方法。更多資訊,請參見Python。
使用限制
Python 3.7無法向下相容Python 2.7,無法直接升級歷史的Python 2.7任務。
2.9.3版本後,Dataphin預設支援研發Python 3.7計算任務。系統僅支援草稿狀態的Python任務修改版本,當前支援Python 2.7、Python 3.7和Python 3.11。
任務執行說明
在Dataphin中完成Python任務的編輯後,運行任務時,將會由Dataphin調度叢集進行執行。Dataphin調度叢集執行Python任務時,將會複製Dataphin內建的模板鏡像用於執行Python任務,模板鏡像內包含了Python的常用資源套件。您可以使用已經內建資源套件,進行Python任務的開發。更多資訊,請參見附錄:Python預置資源套件。

內建的資源套件不滿足需求時,您可以通過管理中心的Python三方包安裝所需的資源套件。已經安裝的資源套件可以通過引用的方式進行使用,運行時,系統會自動將引用的資源套件置於運行環境,用於任務的執行。因Dataphin每次運行時,都會通過複製Dataphin內建模板鏡像的方式運行,如果您通過
pip install命令方式使用資源套件,任務每次運行時,都將重新運行一次pip install命令。建議通過Python三方包進行使用,使用說明,請參見使用三方庫進行Python計算任務開發案例。
操作步驟
在Dataphin首頁的頂部功能表列中,選擇研發 > 資料研發。
在開發頁面的頂部功能表列選擇專案(Dev-Prod 模式需要選擇環境)。
在左側導覽列中選擇資料處理 > 計算任務,在計算任務列表中單擊
表徵圖,選擇PYTHON。在建立PYTHON任務對話方塊中,配置以下參數。
參數
描述
任務名稱
填寫代碼任務的名稱。
長度不超過256個字元,不支援豎線(|)、正斜線(/)、反斜線(\)、半形冒號(:)、半形問號(?)、角括弧(<>)、星號(*)和半形引號(")。
調度類型
選擇任務的調度類型。調度類型包括:
周期任務:自動參與系統的周期性調度。
手動任務:需要手動觸發任務的運行。
選擇目錄
選擇任務所存放的目錄。
若未建立目錄,您可以建立檔案夾,操作方法如下:
在計算工作清單上方單擊
表徵圖,開啟建立檔案夾對話方塊。在建立檔案夾對話方塊中輸入檔案夾名稱並根據需要選擇目錄位置。
單擊確定。
使用模板
引用代碼模板以實現高效研發,模板任務代碼為唯讀不可編輯,您只需配置模板參數即可完成代碼研發。
Python三方包
若需要使用Python三方包,請選擇需要引入的Python三方包。更多資訊,請參見安裝及管理Python三方包。
說明在Python三方包中添加某個第三方Module後,需要在任務中聲明引用後,才可以在代碼中匯入(import)該Module。可在計算任務屬性 > Python三方包配置項中設定編輯引用的Module。
描述
填寫任務的簡單描述,1000個字元以內。
單擊確定。
在當前PYTHON任務頁簽下的代碼編輯地區,編寫PYTHON計算任務的代碼。代碼編輯完成後,單擊代碼編輯地區上方的運行。
說明開發Python計算任務時,通常需要根據業務情境安裝所需資源套件。Dataphin已經預置通用資源套件至系統內,您在開發代碼過程中,只需要在代碼開始部分添加
import <資源套件名>語句即可,例如import configparser。更多資訊,請參見附錄:Python預置資源套件。在開發Python計算任務時,建議您在Python檔案前兩行對編碼進行主動注釋,防止執行代碼時使用系統編碼,導致執行結果報錯。
若您需要在Python中引入上傳的資源檔。請參見上傳資源及引用。
單擊頁面右側邊欄的屬性,在屬性面板中配置任務的基本資料、運行資源、Python 三方包、運行參數、調度屬性(周期任務)、調度依賴(周期任務)、回合組態、資源配置等資訊。
基本資料
用於定義調度任務的名稱、對應責任人、描述等基本資料。配置說明,請參見配置任務基本資料。
運行資源
為運行當前計算任務所分配的CPU和記憶體資源,預設為0.1核256MB。配置說明,請參見配置離線任務運行資源。
Python 三方包
請選擇需要引入的Python三方包。更多資訊,請參見安裝Python Module。
運行參數
若您的任務中調用了參數變數,您可在屬性中對參數進行賦值,從而支援節點調度時,參數變數可以自動被替換為相應的變數值。配置說明,請參見參數配置及使用節點參數。
調度屬性(周期任務)
如果離線計算任務的調度類型為周期任務,除了基本資料外,還需要配置任務的調度屬性。配置說明,請參見配置調度屬性。
調度依賴(周期任務)
如果離線計算任務的調度類型為周期任務,除了基本資料外,還需要配置任務的調度依賴。配置說明,請參見配置調度依賴。
回合組態
您可根據業務情境為離線計算任務配置任務級的運行逾時時間和任務運行失敗時的重跑策略。未配置則預設繼承租戶級設定的預設值。配置說明,請參見計算任務回合組態。
資源配置
您可為當前計算任務配置所屬資源群組,計算任務運行時將使用該資源群組的資源進行任務調度。配置說明,請參見計算任務資源配置。
在當前Python任務頁簽下,儲存並提交當前任務。
單擊代碼編輯地區上方的
表徵圖,儲存代碼。單擊代碼編輯地區上方的
表徵圖,提交代碼。
在提交詳情頁面中,需確認提交內容和前置檢查的結果,並填寫備忘資訊。更多資訊,請參見離線計算任務提交說明。
確認完成後,單擊確定並提交。
說明為確保資料安全,若您開發的Python任務中程式碼封裝含
from dataphin import hivec或import dataphin, 則提交後將觸發代碼審核,並自動為您產生代碼審核申請工單,審核通過後才正常提交。代碼審核人為當前專案的專案系統管理員(多重專案管理員時,任意一個審批通過即可正常提交)。
後續步驟
如果您的開發模式是Dev-Prod模式,任務提交成功後還需前往發布列表,將任務發布至生產環境。更多資訊,請參見管理髮布任務。
如果您的開發模式是Basic模式,則提交成功後的Python任務,即可參與生產環境的調度。您可前往營運中心查看您發布的任務。更多資訊,請參見查看並管理指令碼任務、查看並管理手動任務。