本文为您介绍如何创建JAR和Python类型的资源,以及如何引用和下载资源。

前提条件

您在工作空间配置页面添加MaxCompute引擎后,当前页面才会显示MaxCompute目录。详情请参见配置工作空间

背景信息

如果您的代码或函数中需要使用.jar等资源文件,您可以先上传资源至该工作空间,再进行引用。
如果现有的系统内置函数无法满足您的需求,DataWorks支持创建自定义函数,实现个性化处理逻辑。将实现逻辑的JAR包上传至工作空间下,便可以在创建自定义函数时进行引用。
说明
  • 您可以在函数列表面板查看系统内置的函数,详情请参见查看函数列表
  • 您可以在MaxCompute函数面板查看在DataWorks提交或发布的函数,详情请参见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:仅支持.zip.so.jar类型的File资源。
JARFile类型的资源,区别如下:
  • JAR资源是您在线下Java环境编辑Java代码,打包为JAR包上传至DataWorks。
  • File类型的小文件资源可以直接在DataWorks上编辑。
  • 新建File类型资源时,选中大文件,可以上传超过500 KB的本地资源文件。
    说明 目前支持最大可以上传50 MB资源。超过50 MB的资源,您可以通过MaxCompute客户端上传,并使用MaxCompute资源提交至DataWorks。详情请参见MaxCompute资源

创建JAR资源

  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的数据开发
  2. 鼠标悬停至新建图标,单击MaxCompute > 资源 > JAR
    您也可以展开业务流程目录下的目标业务流程,右键单击MaxCompute,选择新建 > 资源 > JAR

    如果您需要创建业务流程,请参见创建业务流程

  3. 新建资源对话框中,输入资源名称,并选择目标文件夹
    说明
    • 新创建的JAR资源如果未在MaxCompute(ODPS)客户端上传过,则需要勾选上传为ODPS资源,否则上传会报错。如果该JAR资源已经在MaxCompute(ODPS)客户端上传过,则需要取消勾选上传为ODPS资源,否则上传会报错。
    • 资源名称无需与上传的文件名保持一致。
    • 资源名称命名规范:1~128个字符,字母、数字、下划线、小数点,大小写不敏感,JAR资源的后缀为.jar,Python资源的后缀为.py
  4. 单击点击上传,选择相应的文件进行上传。
  5. 单击确定
  6. 单击工具栏中的提交图标,提交资源至调度开发服务器端。
    如果您使用的是标准模式的工作空间,提交成功后,请单击右上方的发布。具体操作请参见发布任务

创建Python资源并注册函数

  1. 创建Python资源。
    1. DataStudio(数据开发)页面,鼠标悬停至新建图标,单击MaxCompute > 资源 > Python
      您也可以展开业务流程目录下的目标业务流程,右键单击MaxCompute,选择新建 > 资源 > Python
    2. 新建资源对话框中,输入资源名称,并选择目标文件夹
      注意 资源名称只能包含中文、字母、数字、点、下划线(_)、减号(-),且必须加后缀名.py
    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. 新建函数对话框中,输入函数名称,并选择目标文件夹
    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.           

    完成上传后,使用客户端直接注册函数,详情请参见注册函数。完成注册后,即可正常使用该函数。

引用和下载资源

如果您需要下载资源,请双击资源选择您需要的资源,单击下载。通过MaxCompute客户端下载资源的详情请参见资源操作

其他操作

资源创建成功后,您还可以在对应业务流程下,选择MaxCompute > 资源,右键单击对应资源,进行资源的重命名、引用及删除等操作。删除资源的具体操作请参见数据开发与运行