全部产品
MaxCompute

概要

更新时间:2017-06-07 13:26:11   分享:   

UDF 全称 User Defined Function,即用户自定义函数 。MaxCompute 提供了很多内建函数来满足用户的计算需求,同时用户还可以通过创建自定义函数来满足不同的计算需求 。UDF 在使用上与普通的 内建函数 类似,Java 和 MaxCompute 的数据类型对应关系,请参见:参数与返回值类型

使用 Maven 的用户可以从 Maven 库 中搜索”odps-sdk-udf”获取不同版本的 Java SDK,相关配置信息如下:

  1. <dependency>
  2. <groupId>com.aliyun.odps</groupId>
  3. <artifactId>odps-sdk-udf</artifactId>
  4. <version>0.20.7-public</version>
  5. </dependency>

在 MaxCompute 中,用户可以扩展的 UDF 有两种:

UDF 分类 描述
User Defined Scalar Function,通常也称之为 UDF 用户自定义标量值函数(User Defined Scalar Function)通常也称之为 UDF 。其输入与输出是一对一的关系,即读入一行数据,写出一条输出值 。
UDTF(User Defined Table Valued Function) 自定义表值函数,是用来解决一次函数调用输出多行数据场景的,也是唯一能返回多个字段的自定义函数。而 UDF 只能一次计算输出一条返回值。
UDAF(User Defined Aggregation Function) 自定义聚合函数,其输入与输出是多对一的关系, 即将多条输入记录聚合成一条输出值。可以与 SQL 中的 Group By 语句联用。具体语法请参见: 聚合函数

备注:

  • UDF 广义的说法代表了自定义标量函数,自定义聚合函数及自定义表函数三种类型的自定义函数的集合。狭义来说,仅代表用户自定义标量函数。文档会经常使用这一名词,请读者根据文档上下文判断具体含义 。
  • SQL 语句中有使用自定义的函数,提示内存不够。请配置 set odps.sql.udf.joiner.jvm.memory=xxxx;原因是数据量太大并且有倾斜,任务超出默认设置的内存 。

UDF示例

请参见快速入门分册 UDF 示例

本文导读目录
本文导读目录
以上内容是否对您有帮助?