全部产品
Search
文档中心

云原生大数据计算服务 MaxCompute:创建并使用自定义函数

更新时间:Dec 19, 2023

DataWorks支持您可视化创建与管理MaxCompute自定义函数,您可通过MaxCompute的SQL命令创建与管理MaxCompute函数,也可使用DataWorks的可视化方式注册。本文为您介绍如何使用DataWorks可视化方式创建与使用MaxCompute自定义函数。

前提条件

您需要先上传资源,选择以可视化方式上传或添加至DataWorks资源,才可以注册函数。

使用限制

DataWorks仅支持使用可视化方式,查看与管理通过DataWorks可视化方式上传的函数。若通过其他工具(例如,MaxCompute Studio)添加至MaxCompute引擎的函数,需通过DataWorks的MaxCompute函数功能手动加载至DataWorks,加载后才可在DataWorks查看并进行相关管理操作。详情请参见MaxCompute函数管理

注册函数

  1. 进入数据开发页面。

    登录DataWorks控制台,单击左侧导航栏的数据建模与开发 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 创建业务流程,详情请参见创建周期业务流程

  3. 创建JAR或Python类型的资源,并提交发布。详情请参见创建并使用MaxCompute资源

  4. 新建函数。

    1. 打开相应的业务流程,右键单击MaxCompute,选择新建函数

    2. 新建函数对话框中,输入名称,并选择路径

    3. 单击新建

    4. 注册函数对话框中,配置各项参数。

      注册函数

      参数

      描述

      函数类型

      选择函数类型,包括数学运算函数聚合函数字符串处理函数日期函数窗口函数其他函数。更多详情请参见使用内建函数

      MaxCompute引擎实例

      默认不可以修改。

      函数名

      UDF函数名,即SQL中引用该函数所使用的名称。需要全局唯一,且注册函数后不支持修改。

      责任人

      默认显示为当前登录账号,您也可以选择其他账号。

      类名

      UDF函数的类名,格式为资源名.类名。其中,资源名可以为Java包名称或Python资源名称。

      DataWorks创建自定义函数时支持使用JAR及Python两种类型的MaxCompute资源,不同类型资源的类名配置如下:

      • 当资源类型为JAR时,配置的类名格式为Java包名称.实际类名,您可以在IDEA中通过copy reference语句获取。

        例如,com.aliyun.odps.examples.udf为Java包的名称,UDAFExample为实际类名,则类名参数配置为com.aliyun.odps.examples.udf.UDAFExample

      • 当资源类型为Python时,配置的类名格式为Python资源名称.实际类名

        例如,LcLognormDist_sh为Python资源名称,LcLognormDist_sh为实际类名,则类名参数配置为LcLognormDist_sh.LcLognormDist_sh

        说明

      资源列表

      选择已可视化上传或添加至DataWorks资源,支持模糊匹配查找本工作空间中已添加的资源,必填。

      说明
      • 无需填写已添加的资源的路径。

      • 如果UDF中调用了多个资源,则多个资源使用英文逗号(,)分隔。

      描述

      针对当前UDF作用的简单描述。

      命令格式

      该UDF的具体使用方法示例,例如test

      参数说明

      支持输入的参数类型以及返回参数类型的具体说明。

      返回值

      返回值,例如1,非必填项。

      示例

      函数中的示例,非必填项。

  5. 单击工具栏中的保存图标。

  6. 提交函数。

    1. 单击工具栏中的提交图标。

    2. 提交新版本对话框中,输入变更描述

    3. 单击确认

查看在MaxCompute计算引擎中存在的函数、函数的变更历史等操作,详情请参见MaxCompute函数管理

查看函数版本与回滚

您可以右键MaxCompute函数,单击历史版本查看函数历史版本与回滚。

查看

节点中使用函数

可直接使用函数名称。您可选中资源,右键引用函数,快速在当前节点编辑页面名称。节点中使用函数

附录一:通过命令查看引擎项目中的函数

show functions;查看当前项目下的函数。
DESC  function  functionname; 查看函数注册详情。

附录二:查看内置函数列表

内建函数列表可参见:内建函数概述

附录三:添加引擎函数至DataWorks进行管理

您可以通过MaxCompute函数功能,将MaxCompute引擎资源加载至DataWorks进行可视化管理与使用,详情请参见MaxCompute资源管理