本文将为您介绍如何新建、上传、引用和下载资源。
如果您的代码或函数中需要使用.jar等资源文件,您可以先上传资源至该工作空间,然后进行引用。
如果现有的系统内置函数无法满足您的需求,DataWorks支持创建自定义函数,实现个性化处理逻辑。将实现逻辑的JAR包上传至工作空间下,便可在创建自定义函数时进行引用。
说明
- 您可以在函数列表面板查看系统内置的函数,详情请参见函数列表。
- 您可以在MaxCompute函数面板查看在DataWorks提交或发布的函数,详情请参见MaxCompute函数。
MaxCompute资源
您可以将文本文件、MaxCompute表、Python代码以及.zip、.tgz、.tar.gz、.tar、.jar等压缩包作为不同类型的资源上传到MaxCompute,在UDF及MapReduce的运行过程中读取、使用资源。
MaxCompute为您提供读取、使用资源的接口。目前资源包括以下类型:
- Python:您编写的Python代码,用于注册Python UDF函数。
- JAR:编译好的Java JAR包。
- Archive:通过资源名称中的后缀识别压缩类型,支持的压缩文件类型包括.zip、.tgz、.tar.gz、.tar和.jar。
- File
JAR和File类型的资源,区别如下:
- JAR资源是您在线下Java环境编辑Java代码,打包为JAR包上传至DataWorks。
- File类型的小文件资源可以直接在DataWorks上编辑。
- File类型资源新建时勾选大文件后,也可以上传本地资源文件。
说明 目前支持最大可以上传30MB资源。超过30MB的资源,您可以通过MaxCompute客户端上传,并使用MaxCompute资源提交至DataWorks。
EMR资源
您可以上传EMR(E-MapReduce)资源至DataWorks,EMR资源包括EMR JAR和EMR File。
说明 您在工作空间配置页面添加E-MapReduce计算引擎实例后,当前页面才会显示EMR目录。
目前最大支持上传30MB资源。
登录DataWorks控制台,单击相应工作空间后的进入数据开发。
鼠标悬停至,单击 。您可以选择需要创建的EMR JAR或EMR File,具体操作和新建JAR资源一致。
新增JAR资源
- 在DataStudio(数据开发)页面,新建JAR资源。
您可以通过以下两种方式新建JAR资源:
- 鼠标悬停至
,单击 。
- 打开相应业务流程下的MaxCompute,右键单击资源,选择 。
- 鼠标悬停至
- 在新建资源对话框中,输入资源名称,并选择目标文件夹和MaxCompute引擎实例,单击点击上传,选择相应的文件进行上传。
说明- 如果此JAR包已经在MaxCompute(ODPS)客户端上传过,则需要取消勾选上传为ODPS资源本次上传,资源会同步上传至ODPS中,否则上传会报错。
- 资源名称无需与上传的文件名保持一致。
- 资源名称命名规范:1~128个字符,字母、数字、下划线、小数点,大小写不敏感,JAR资源的后缀为.jar,Python资源的后缀为.py。
- 单击确定,即可上传成功。
- 单击
,提交资源至调度开发服务器端。
- 发布节点任务。
具体操作请参见发布管理。
新增Python资源并注册函数
- 新增Python资源。
- 在DataStudio(数据开发)页面,鼠标悬停至
,单击 。
您也可以打开相应的业务流程,右键单击MaxCompute,选择 。
- 在新建资源对话框中,输入资源名称,并选择目标文件夹和MaxCompute引擎实例,单击点击上传,选择相应的文件进行上传。
- 单击确定。
- 在您新建的Python资源内编写Python资源代码,示例如下。
from odps.udf import annotate @annotate("string->bigint") class ipint(object): def evaluate(self, ip): try: return reduce(lambda x, y: (x << 8) + y, map(int, ip.split('.'))) except: return 0
- 单击
。
- 在DataStudio(数据开发)页面,鼠标悬停至
- 注册函数。
- 在DataStudio(数据开发)页面,鼠标悬停至
,单击 。
您也可以打开相应的业务流程,右键单击MaxCompute,选择 。
- 在新建函数对话框中,输入函数名称,并选择MaxCompute引擎实例和目标文件夹。
- 单击提交。
- 在注册函数对话框中,输入函数的类名,本例中为
ipint.ipint
,资源列表填写提交的资源名称,单击提交并解锁。 - 验证ipint函数是否生效并满足预期值,您可以在DataWorks上新建一个ODPS SQL类型节点运行SQL语句查询,示例如下。
- 在DataStudio(数据开发)页面,鼠标悬停至
您也可以在本地创建ipint.py文件,使用MaxCompute客户端上传资源,详情请参见MaxCompute客户端。
odps@ MaxCompute_DOC>add py D:/ipint.py;
OK: Resource 'ipint.py' have been created.
odps@ MaxCompute_DOC>create function ipint as ipint.ipint using ipint.py;
Success: Function 'ipint' have been created.
完成上传后,使用客户端直接注册函数,详情请参见注册函数。
完成注册后,即可正常使用该函数。
引用和下载资源
- 在函数中引用资源请参见函数。
- 在节点中引用资源请参见ODPS MR。
如果您需要下载资源,请双击资源选择您需要的资源,单击下载。
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/33682.html