如果您的代碼或函數中要使用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儲存資源,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資源管理。