一,自定义函数需要通过TableEnvironment 进行注册之后才可以使用,函数注册通过 tableEnv.registerFuntion()方法完成
内置函数 官网API地址: https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/table/functions.html
一,自定义函数分为三种
1,Scalar Function --- 也被称为标量函数 ,表示对单个输入或者多个输入字段计算后返回一个确定类型的标量值
实现一个标量函数需要继承ScalarFunction,并且实现一个或者多个evaluation方法。标量函数的行为就是通过evaluation方法来实现的。evaluation方法必须定义为public,命名为eval。evaluation方法的输入参数类型和返回值类型决定着标量函数的输入参数类型和返回值类型。evaluation方法也可以被重载实现多个eval。同时evaluation方法支持变参数,例如:eval(String... strs)。
案例:
2,Table Function -- -与标量函数相似之处是输入可以0,1,或者多个参数,但是不同之处可以输出任意数目的行数。返回的行也可以包含一个或者多个列
为了自定义表函数,需要继承TableFunction,实现一个或者多个evaluation方法。表函数的行为定义在这些evaluation方法内部,函数名为eval并且必须是public。
指定返回类型: