简介
UDF可以帮助我们极大地扩展了查询的表达能力,flink Sql自定义函数(UDF)和spark Sql 自定义函数原理是一样的,主要步骤无非就是,注册函数,自定义函数类实现flink自带的接口函数。和spark的UDF对比着来 ,下面介绍具体实现步骤。
UDF的分类和定义
- UDF(User-Defined-Function) 一进一出。
- UDAF(User- Defined Aggregation Funcation) 聚集函数,多进一出。
- UDTF(User-Defined Table-Generating Functions) 一进多出。
flink的UDF分类
flink分如下三类UDF,每个类别都有自己独特的用处,其实就是对应着udf的分类
- ScalarFunction:UDF: 是指返回一个值的函数标。量函数是实现将0,1,或者多个标量值转化为一个新值
- TableFunction :UDTF:与标量函数相似之处是输入可以0,1或者多个参数,不同之处可以输出任意数目的行数。返回的行也可以包含一个或者多个列。