资源是指为了完成数据处理任务而需要使用的各种辅助文件或程序。这些资源通常用于运行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资源。