这块可以看下 custom type inference 的文档:
https://ci.apache.org/projects/flink/flink-docs-master/dev/table/functions/udfs.html#custom-type-inferenceOn Wed, 16 Sep 2020 at 20:46, silence <
[hidden email]> wrote:
> 如题,最近想实现一些类似于LAST_VALUE之类的UDAF,看了官网文档自己写了一下目前有以下一些疑问:
>
> 1、聚合结果需要重写AggregateFunction的getValue方法,而该方法需要返回固定的数据类型,如果要实现不同返回值的UDAF是否需要进行多个实现?
>
> 2、如果是需要多个实现类的话如何注册到同一个方法名上?测试发现后注册的UDAF会覆盖之前的注册,也就是只有最后注册的UDAF生效,还是只能支持一种数据类型
> 3、看了源码中的aggFuction的注册过程,发现也是对不同的数据类型进行了多次实现,然后在使用时根据参数的类型进行不同的实现类的创建,最后的疑问就是现有基于现有的flink
> api如果实现类似的效果呢?
> 感谢大佬们的解答
>
>