DataWorks支援在建立個人開發環境的自訂鏡像時,同步產生MaxCompute的自訂鏡像,方便您在DataWorks節點(如PyODPS 3節點、Notebook節點)中使用MaxCompute自訂鏡像。本文將為您介紹在DataWorks構建並使用MaxCompute自訂鏡像。
背景資訊
MaxCompute鏡像管理功能支援您建立自訂鏡像,您可在SQL UDF、PyODPS及MaxFrame開發等情境中直接引用已有鏡像,無需執行繁瑣的資源打包、上傳等流程。在DataWorks,您可以基於個人開發環境,在構建DataWorks鏡像的同時,同步構建MaxCompute鏡像。
前提條件
已建立Serverless資源群組,並綁定至工作空間。
建立MaxCompute自訂鏡像
準備工作
已開通阿里雲鏡像Container Service,並建立標準版及以上版本的ACR(Container Registry)執行個體。詳情請參見:建立企業版執行個體、建立命名空間、建立鏡像倉庫。
已為ACR(Container Registry)執行個體配置專用網路的存取控制。詳情請參見:配置專用網路的存取控制。
已擁有ACR(Container Registry)操作許可權和MaxCompute自訂鏡像操作許可權。詳情請參見:自訂鏡像。
注意事項
建立MaxCompute自訂鏡像:
鏡像大小:MaxCompute單個鏡像最大規格為
10 GB。鏡像數量:MaxCompute單租戶最多可上傳
10個鏡像。
使用MaxCompute鏡像:DataWorks基於Python 3.11環境構建MaxCompute鏡像。若要運行通過DataWorks構建的MaxCompute鏡像,請確保您的Python環境為3.11版本。
建立個人開發環境執行個體
進入Data Studio,參照下文使用特定鏡像dataworks-maxcompute:py3.11-ubuntu20.04建立個人開發環境執行個體,以便同步建立MaxCompute自訂鏡像。
進入Data Studio。
進入DataWorks工作空間列表頁,在頂部切換至目標地區,找到目標工作空間,單擊操作列的,進入Data Studio。
在Data Studio頁面左側導覽列單擊
按鈕,進入資料開發頁面。
進入個人開發環境建立頁面。單擊頂部個人開發環境·請選擇,按需建立個人開發環境執行個體。
如果您還沒有個人開發環境執行個體,需要您自主建立,單擊前往建立。
如果您已有個人開發環境執行個體,則單擊管理執行個體,然後在個人開發環境執行個體列表中,單擊建立執行個體。
配置個人開發環境。在DataWorks中建立MaxCompute自訂鏡像時,個人開發環境需要進行以下配置,其他參數配置可參見建立個人開發環境執行個體。
鏡像配置:請選擇
dataworks-maxcompute:py3.11-ubuntu20.04。說明只有選擇
dataworks-maxcompute:py3.11-ubuntu20.04鏡像,才能製作MaxCompute自訂鏡像。使用
dataworks-maxcompute:py3.11-ubuntu20.04作為基礎鏡像構建的DataWorks自訂鏡像,可以在DataWorks的Notebook、通用Python及Shell節點中使用MaxFrame作業開發。
網路設定:請選擇ACR執行個體配置的專用網路,以確保後續構建鏡像時,個人開發環境執行個體可正常將鏡像推送至ACR執行個體。
配置鏡像相關環境
請參照以下步驟,在您的個人開發環境執行個體終端中安裝MaxCompute開發需要使用的第三方依賴。本文將以 jieba 為例進行說明。
單擊Data Studio頁面頂部的個人開發環境·請選擇,單擊進入在建立個人開發環境執行個體中建立的個人開發環境執行個體。
單擊Data Studio底部工具列左側的
表徵圖,進入終端命令執行框。在個人開發環境終端中依次執行以下命令,下載並驗證第三方依賴
jieba是否安裝成功。## 安裝三方依賴 pip install jieba; ## 查看第三方依賴 pip show jieba;
儲存自訂鏡像
請按照以下步驟,將個人開發環境製作為DataWorks鏡像,並選擇同步建立MaxCompute鏡像。系統會自動將產生的鏡像上傳至同帳號下的ACR執行個體中。
進入個人開發環境執行個體管理頁面。
單擊頂部原個人開發環境·請選擇位置,單擊您所建立的個人開發環境執行個體名稱。
在彈窗中選擇管理環境,進入個人開發環境執行個體頁面。
進入製作鏡像頁面。
在個人開發環境執行個體頁找到您所建立的個人開發環境執行個體。
單擊執行個體右側操作欄中的製作鏡像。
請參照以下內容配置鏡像,配置完成後點擊確認。
參數
說明
鏡像名稱
自訂DataWorks鏡像名稱,若鏡像同步至MaxCompute,此處定義的名稱即為MaxCompute鏡像名稱。(例如:
image_jieba)。鏡像執行個體
請選擇標準版及以上版本的ACR執行個體,建立ACR執行個體詳情請參見建立企業版執行個體。
說明僅標準版及以上版本的ACR執行個體可用於構建MaxCompute自訂鏡像。
命名空間
請選擇ACR執行個體的命名空間,建立詳情請參見建立命名空間。
鏡像倉庫
請選擇ACR執行個體的鏡像倉庫,建立詳情請參見建立鏡像倉庫。
鏡像版本
自訂鏡像版本。
同步至MaxCompute
本案例請選擇是。選擇同步至MaxCompute後,鏡像將在DataWorks鏡像發布時,同步構建為MaxCompute鏡像。
說明選項與您選擇的鏡像執行個體有關,執行個體規格為標準版及以上版本的ACR鏡像執行個體是可選擇的,其他預設不可選。
任務類型
請選擇當前建立的DataWorks鏡像可用的任務類型。本樣本可選擇將鏡像用於Notebook開發。
Notebook
Python
Shell
確認鏡像儲存狀態。
您可在鏡像執行個體列表頁面,找到上述個人開發環境的鏡像列,查看鏡像儲存狀態。
單擊確認,進行製作鏡像。
單擊個人開發環境執行個體右側的
表徵圖,勾選展示鏡像列。等待鏡像製作完成。滑鼠懸浮到儲存成功右側的
表徵圖上,在彈窗中單擊這裡,進入鏡像管理頁。
發布自訂鏡像
待個人開發環境執行個體製作的鏡像在Data Studio儲存成功後,請按照以下步驟,完成自訂鏡像發佈動作,此操作會將通過ACR鏡像執行個體建立的鏡像同步至DataWorks和MaxCompute,產生DataWorks自訂鏡像和MaxCompute自訂鏡像。
進入DataWorks工作空間列表頁,在頂部切換至目標地區。
在左側導覽列中找到頁簽,對目標鏡像進行測試,待目標鏡像測試成功後,對目標鏡像進行發布。
說明測試自訂鏡像時,測試資源群組請選擇Serverless資源群組。
測試發布選擇的Serverless資源群組綁定的VPC需與阿里雲鏡像Container Service中配置的VPC一致。
如果您配置的自訂鏡像是從公網擷取第三方包,且長時間測試不通過,請檢查測試資源群組綁定的VPC是否具備公網訪問能力,為VPC配置公網,請參見使用公網NAT GatewaySNAT功能訪問互連網。
重新整理頁面,確認鏡像列表中您所發布的鏡像發布狀態變為發行。
在目標鏡像操作列單擊,為自訂鏡像綁定歸屬工作空間。
確認MaxCompute鏡像狀態
DataWorks鏡像發布完成後,會同步建立MaxCompute鏡像,待DataWorks控制台頁簽中的鏡像狀態變為發行狀態後,您可前往MaxCompute控制台,根據添加自訂鏡像至MaxCompute步驟查看您所建立成功的MaxCompute自訂鏡像。
使用MaxCompute自訂鏡像
注意事項
使用MaxFrame進行開發需要鏡像中有
MaxFrame服務。若要在DataWorks運行MaxCompute自訂鏡像,要求該鏡像是基於Python 3.11環境構建。在DataWorks使用MaxCompute自訂鏡像進行MaxFrame作業開發,請確保任務運行在有MaxFrame運行環境的DataWorks鏡像中。具體如下:
Notebook節點:請選擇官方鏡像
dataworks-notebook:py3.11-ubuntu22.04,或基於該官方鏡像或dataworks-maxcompute:py3.11-ubuntu20.04鏡像構建的DataWorks自訂鏡像。PyODPS 3節點:請選擇官方鏡像
dataworks_pyodps_py311_task_pod,或基於該官方鏡像構建的DataWorks自訂鏡像。Python節點:請選擇基於
dataworks-maxcompute:py3.11-ubuntu20.04鏡像建立帶有MaxFrame服務的個人開發環境執行個體,並儲存為支援Python任務類型的DataWorks自訂鏡像。其他節點:請確保DataWorks自訂鏡像中存在MaxFrame運行環境,並且構建環境為
Python 3.11。
進入資料開發
進入DataWorks工作空間列表頁,在頂部切換至目標地區,找到目標工作空間,單擊操作列的,進入Data Studio。
在Data Studio頁面左側導覽列單擊
按鈕,進入資料開發頁面。
> 修改歸屬工作空間
,選擇
表徵圖,在彈框中選擇