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