資源是指為了完成數據處理任務而需要使用的各種輔助文件或程序。這些資源通常用于運行MapReduce或UDF(User-Defined Function)等作業。MaxCompute的資源管理功能允許用戶上傳、注冊和管理這些資源。
概念
資源(Resource)是MaxCompute的特有概念,如果您想使用MaxCompute的自定義函數(UDF)或MapReduce功能,需要依賴資源來完成,如下所示:
SQL UDF:您編寫UDF后,需要將編譯好的JAR包以資源的形式上傳到MaxCompute。運行此UDF時,MaxCompute會自動下載這個JAR包,獲取您的代碼來運行UDF,無需您干預。上傳JAR包的過程就是在MaxCompute上創建資源的過程,這個JAR包是MaxCompute資源的一種。
MapReduce:您編寫MapReduce程序后,將編譯好的JAR包作為一種資源上傳到MaxCompute。運行MapReduce作業時,MapReduce框架會自動下載這個JAR資源,獲取您的代碼。
您同樣可以將文本文件以及MaxCompute中的表作為不同類型的資源上傳到MaxCompute,您可以在UDF及MapReduce的運行過程中讀取、使用這些資源。MaxCompute提供了讀取、使用資源的接口。詳情請參見資源使用示例及UDF使用說明。
MaxCompute的自定義函數(UDF)或MapReduce對資源的讀取有一定的限制,詳情請參見使用限制。
資源類型
MaxCompute支持上傳的單個資源大小上限為2048 MB,資源包括以下幾種類型:
File類型:僅支持.zip、.so和.jar類型的File資源。
Table類型:MaxCompute中的表。
說明MapReduce引用的Table類型資源中,Table字段類型目前只支持BIGINT、DOUBLE、STRING、DATETIME、BOOLEAN,其他類型暫未支持。
JAR類型:編譯好的Java JAR包。
Archive類型:通過資源名稱中的后綴識別壓縮類型,支持的壓縮文件類型包括.zip、.tgz、.tar.gz、.tar、.jar。
Python類型:您編寫的Python代碼,用于注冊Python UDF函數。
相關文檔
資源的相關操作請參見資源操作或MaxCompute資源管理。
如果您的代碼或函數中需要使用MaxCompute資源文件,則需先創建或上傳資源至目標工作空間后再引用。詳情請參見創建并使用MaxCompute資源。