Cannot resolve overloaded method 'aggregate'


Flink在窗口中使用aggregate聚合函数时,提示 Cannot resolve overloaded method 'aggregate'错误

这里可能有2个地方引起的问题:

1. 导入WindowFunction包问题:

下面包是错误的,因为我们是基于scala的开发。

import org.apache.flink.streaming.api.functions.windowing.WindowFunction

应该使用:

import org.apache.flink.streaming.api.scala.function.WindowFunction

2. KeyBy中的类型和自定义的WindowFunction中的key类型不一致。

这种一般看提示不太明显:

修改类型相同后即可。