如果您的代码或函数中要使用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目录下选择合适类型资源创建。
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资源管理。