為了滿足豐富的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
, 則提交后將觸發代碼審核,并自動為您生成代碼審核申請工單,審核通過后才正常提交。代碼審核人為當前項目的項目管理員(多個項目管理員時,任意一個審批通過即可正常提交)。