如果您的代碼或函數中要使用MaxCompute資源,則需先創建或上傳資源至目標工作空間,上傳后才可在該工作空間的任務中使用。您可通過MaxCompute的SQL命令上傳資源,也可使用DataWorks的可視化方式創建或上傳資源。您可參考本文了解如何使用DataWorks可視化方式創建資源并在節點中使用,以及如何基于資源注冊函數。
背景信息
資源(Resource)是MaxCompute的特有概念,如您想使用MaxCompute的自定義函數(UDF)或MapReduce功能,則需依賴資源來完成。更多資源介紹詳情,請參見資源。
DataWorks中,您可通過可視化方式,將本地開發的資源包、OSS文件中存儲的資源包上傳至DataWorks,或直接在DataWorks新建資源,在用戶自定義函數(UDF)及MapReduce的運行過程中讀取、使用。DataWorks支持創建的資源類型如下。
資源類型 | 描述 | 支持的新建方式 |
Python | 存放編寫的Python代碼,用于注冊Python UDF函數。后綴為.py。 | 可視化直接創建 |
JAR | 編譯好的Java JAR包,用于運行Java程序。后綴為.jar。 |
|
Archive | 僅支持將.zip、.tgz、.tar.gz、.tar、.jar等壓縮文件上傳為資源,通過資源名稱的后綴區分壓縮類型。 |
|
File | 僅支持將.zip、.so和.jar類型文件上傳為File資源。 |
|
DataWorks可視化創建及使用資源的流程如下:
更多資源的操作及管理,詳情請參見管理資源、通過命令操作數據源中的資源、添加對應數據源資源至DataWorks進行管理。
前提條件
已創建MaxCompute數據源,基于該數據源執行相關開發操作。詳情請參見創建MaxCompute數據源。
已創建業務流程。DataWorks使用業務流程存放創建的資源,因此,創建資源前需先創建業務流程。詳情請參見創建業務流程。
已創建相應節點。創建的資源需被相應的節點引用。引用前您需根據業務需求創建合適的節點,詳情請參見創建計算類節點。
(可選)通過上傳OSS文件方式創建資源:
使用限制
資源大小
直接創建:Python類型最大支持創建200MB的資源;File類型在線編輯方式最大支持創建500KB的資源。
上傳本地文件:最大支持上傳200MB的資源。
上傳OSS文件:最大支持上傳500MB的資源。
資源發布
若您使用的是標準模式的工作空間,則需將資源發布至生產環境,發布后生產環境的項目才會存在該資源。
說明開發環境和生產環境的數據源信息存在差異,查詢對應環境的表、資源等操作前,請先明確相應環境的數據源信息。查看不同環境對應的MaxCompute數據源信息,詳情請參見查看MaxCompute數據源。
資源管理
DataWorks僅支持查看與管理通過DataWorks可視化方式上傳的資源,若通過其他工具(例如,MaxCompute Studio)添加至MaxCompute的資源,需通過DataWorks的MaxCompute資源功能手動加載至DataWorks,加載后才可在DataWorks查看并進行相關管理操作。詳情請參見MaxCompute資源管理。
進入資源創建入口
進入數據開發頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入數據開發。
進入資源創建入口。
在數據開發頁面右鍵單擊目標業務流程,選擇新建資源,在MaxCompute目錄下選擇合適類型資源創建。
DataWorks支持通過直接新建資源、上傳本地資源、上傳OSS資源等方式,生成DataWorks中需使用的資源,具體使用哪種方式請以各類型資源的實際創建界面為準。
說明若無可用業務流程,請參考創建業務流程新建。
步驟一:創建或上傳資源
DataWorks支持將您本地開發的資源包、OSS存儲的資源包通過上傳方式上傳至DataWorks,例如,本地開發的UDF函數,需將其打包上傳至DataWorks后再進行函數注冊;同時,部分資源類型也支持您直接在DataWorks新建,例如,Python、不超過500KB的File資源類型。
通過DataWorks可視化方式創建或上傳的資源:
若資源未在MaxCompute(ODPS)客戶端上傳過,則需勾選上傳為ODPS資源,若資源已上傳至MaxCompute(ODPS)客戶端,則需取消勾選上傳為ODPS資源,否則上傳均會報錯。
若上傳時勾選了上傳為ODPS資源,則上傳后在DataWorks和MaxCompute中均會存儲該資源。后續若通過命令行刪除MaxCompute中的資源,DataWorks中的資源仍然存在且正常顯示。
資源名稱無需與上傳的文件名稱保持一致。
方式一:可視化新建資源
使用DataWorks可視化新建資源的配置如下,您需根據業務需求配置不同類型資源的相關信息。
超過200MB的Python資源,請通過方式三:可視化上傳OSS資源新建。
超過500KB的File文件,請通過方式二:可視化上傳本地資源或方式三:可視化上傳OSS資源新建。
關于DataWorks可視化創建Python資源并注冊函數的實踐,請參考使用MaxCompute分析IP來源最佳實踐。
方式二:可視化上傳本地資源
使用DataWorks可視化上傳本地資源的配置如下,您需根據業務需求配置不同類型資源的相關信息。
通過該方式,可上傳不超過200MB的資源,超過200MB的資源請通過方式三:可視化上傳OSS資源新建。
方式三:可視化上傳OSS資源
使用DataWorks可視化上傳OSS資源的配置如下,您需根據業務需求配置不同類型資源的相關信息。
通過該方式,可上傳不超過500MB的資源。
操作上傳文件的阿里云賬號授予AliyunDataWorksAccessingOSSRole策略權限,您需按照界面指引進行一鍵授權。
步驟二:提交并發布資源
資源創建完成后,您需在資源編輯頁面,單擊工具欄中的圖標,提交資源至調度開發服務器端。
若生產任務需使用該資源,則還需將該資源發布至生產環境。詳情請參見發布任務。
步驟三:使用資源
場景一:節點使用資源
DataWorks資源創建后,需被相應節點引用。節點成功引用資源后會顯示@resource_reference{"資源名稱"}
格式代碼。各類型節點顯示格式存在差異,請以實際界面為準。例如,PyODPS 2節點顯示的樣式為##@resource_reference{"資源名稱"}
。
引用步驟如下圖。
場景二:使用資源注冊函數
使用資源注冊函數前,需先參考創建并使用自定義函數新建函數。在函數配置界面,輸入已創建的資源名稱,如下圖所示。
使用資源注冊函數前,請確保資源已提交。提交資源,詳情請參見步驟二:提交并發布資源。
查看MaxCompute系統自帶的函數,詳情請參見使用內建函數。
查看在MaxCompute數據源中存在的函數、函數的變更歷史等操作,詳情請參見MaxCompute函數管理。
管理資源
在業務流程下的資源目錄,鼠標右鍵單擊目標資源,即可執行資源的相關管理操作:
查看歷史版本:您可查看、對比已保存或已提交的資源版本,獲取不同版本的資源變更情況。
說明版本對比時,至少需選擇兩個版本進行比對。
刪除資源:刪除操作僅是刪除開發環境對應項目中的該資源。若需刪除生產環境下該資源,則需進行任務發布,將資源刪除操作發布至生產環境,發布成功后,生產環境該資源才會同步刪除。詳情請參見發布任務。
附錄一:通過命令操作數據源中的資源
常用資源相關操作命令如下。
操作類型 | 功能 | 角色 | 操作入口 |
添加資源至MaxCompute項目中。 | 具備更新資源權限(Write)的用戶。 | 本文中的命令您可以在如下工具平臺執行: | |
查看資源的詳細信息。 | 具備讀取資源權限(Read)的用戶。 | ||
查看當前項目下所有的資源。 | 具備項目查看對象列表權限(List)的用戶。 | ||
為資源創建別名。 | 具備更新資源權限(Write)的用戶。 | ||
下載MaxCompute項目中的資源到本地。 | 具備更新資源權限(Write)的用戶。 | ||
刪除MaxCompute項目中已經存在的資源。 | 具備刪除資源權限(Delete)的用戶。 |
在DataWorks查看資源時,若不添加項目名稱,默認查看當前運行項目中的資源。具體如下:
查看當前項目下的所有資源。在DataStudio執行該命令時,默認訪問開發環境綁定的MaxCompute數據源。
list resources;
查看指定項目下的所有資源。
use MaxCompute項目名稱; list resources;
更多命令操作,詳情請參見資源操作。
附錄二:添加對應數據源資源至DataWorks進行管理
可通過MaxCompute資源功能,將不超過200MB的MaxCompute數據源資源加載至DataWorks進行可視化管理,詳情請參見MaxCompute資源管理。