1. 星速云首页
  2. 阿里云文档

阿里云DataWorks资源

本文将为您介绍如何新建、上传、引用和下载资源。

如果您的代码或函数中需要使用.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

JARFile类型的资源,区别如下:

  • JAR资源是您在线下Java环境编辑Java代码,打包为JAR包上传至DataWorks。
  • File类型的小文件资源可以直接在DataWorks上编辑。
  • File类型资源新建时勾选大文件后,也可以上传本地资源文件。


    说明 目前支持最大可以上传30MB资源。超过30MB的资源,您可以通过MaxCompute客户端上传,并使用MaxCompute资源提交至DataWorks。

EMR资源

您可以上传EMR(E-MapReduce)资源至DataWorks,EMR资源包括EMR JAREMR File


说明 您在工作空间配置页面添加E-MapReduce计算引擎实例后,当前页面才会显示EMR目录。

目前最大支持上传30MB资源。

登录DataWorks控制台,单击相应工作空间后的进入数据开发

鼠标悬停至新建,单击EMR > 资源。您可以选择需要创建的EMR JAREMR File,具体操作和新建JAR资源一致。资源

新增JAR资源

  1. DataStudio(数据开发)页面,新建JAR资源。

    您可以通过以下两种方式新建JAR资源:

    • 鼠标悬停至新建,单击MaxCompute > 资源 > JAR
    • 打开相应业务流程下的MaxCompute,右键单击资源,选择新建 > JAR
  2. 新建资源对话框中,输入资源名称,并选择目标文件夹MaxCompute引擎实例,单击点击上传,选择相应的文件进行上传。上传


    说明

    • 如果此JAR包已经在MaxCompute(ODPS)客户端上传过,则需要取消勾选上传为ODPS资源本次上传,资源会同步上传至ODPS中,否则上传会报错。
    • 资源名称无需与上传的文件名保持一致。
    • 资源名称命名规范:1~128个字符,字母、数字、下划线、小数点,大小写不敏感,JAR资源的后缀为.jar,Python资源的后缀为.py
  3. 单击确定,即可上传成功。
  4. 单击提交,提交资源至调度开发服务器端。
  5. 发布节点任务。

    具体操作请参见发布管理

新增Python资源并注册函数

  1. 新增Python资源。
    1. DataStudio(数据开发)页面,鼠标悬停至新建,单击MaxCompute > 资源 > Python

      您也可以打开相应的业务流程,右键单击MaxCompute,选择新建 > 资源 > Python

    2. 新建资源对话框中,输入资源名称,并选择目标文件夹MaxCompute引擎实例,单击点击上传,选择相应的文件进行上传。新建资源
    3. 单击确定
    4. 在您新建的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
    5. 单击提交
  2. 注册函数。
    1. DataStudio(数据开发)页面,鼠标悬停至新建,单击MaxCompute > 函数

      您也可以打开相应的业务流程,右键单击MaxCompute,选择新建 > 函数

    2. 新建函数对话框中,输入函数名称,并选择MaxCompute引擎实例目标文件夹
    3. 单击提交
    4. 注册函数对话框中,输入函数的类名,本例中为ipint.ipint,资源列表填写提交的资源名称,单击提交并解锁注册函数
    5. 验证ipint函数是否生效并满足预期值,您可以在DataWorks上新建一个ODPS SQL类型节点运行SQL语句查询,示例如下。验证

您也可以在本地创建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

如果您需要下载资源,请双击资源选择您需要的资源,单击下载

注明:本文为星速云原创版权所有,禁止转载,一经发现将追究版权责任!

发表评论

登录后才能评论
问答社区 QQ客服
微信客服
微信客服
分享本页
返回顶部