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

相关文档