文档

开发UDF

更新时间:

当MaxCompute提供的内建函数无法满足您的业务需求时,您可在MaxCompute Studio中自行开发UDF(自定义函数)以实现业务功能,本文介绍如何使用MaxCompute Studio开发及调试Java UDF。

前提条件

您需要完成以下操作:

背景信息

您可以按照本文介绍自行开发UDF,也可以单击MaxCompute > 创建UDF直接创建函数。如下图所示。dd

编写UDF

  1. Project区域,右键单击Module的源码目录(即src > main > java),选择new > MaxCompute Java

    11

  2. 填写Name并选择类型为UDF,按下Enter键。

    新建Class

    Name:创建的MaxCompute Java Class名称。如果需要创建Package,可以在此处填写packagename.classname,会自动生成Package。

  3. 创建成功后,在编辑界面开发Java程序。

    Java UDF示例,请参见UDF概述

    编写程序

通过本地运行调试UDF

通过本地运行方式测试,查看UDF的运行结果是否符合预期。

  1. 右键单击编写完成的Java脚本,选择Run

  2. Run/Debug Configurations页面上配置运行参数。

    debug

    • MaxCompute project:UDF运行使用的MaxCompute空间。本地运行时选择local

      说明
      • 如果需要使用MaxCompute项目中的表数据,需要先在MaxCompute project中更改设置Endpoint和指定项目名称,指定的MaxCompute项目的表数据未被下载至warehouse目录中,会先下载数据;如果数据已经下载,则跳过此步骤。

      • MaxCompute project选择local,则表示本地项目无需与MaxCompute的数据或资源进行交互,即可在本地环境中进行开发、测试和调试。

    • MaxCompute table:UDF运行时需要使用的MaxCompute表的名称。

    • Table columns:UDF运行时需要使用的MaxCompute表的列信息。

  3. 单击OK,开始运行。

    说明
    • 本地运行会读取warehouse中指定的表数据作为输入,您可以在控制台查看日志输出。

    • 更多warehouse的说明,请参见warehouse目录

通过单元测试调试UDF

您可以参照examples目录下的单元测试实例,编写自己的测试用例。**

后续步骤

完成开发和调试UDF之后,需要对UDF代码进行打包、上传和注册,使其在MaxCompute中可用。详情请参见打包、上传及注册

相关文档

如果您希望在MaxCompute Studio中使用Python语言进行UDF开发,请参见开发Python UDF