先看官方的Flink自定义窗口流程:
基本操做以下:app
- window:建立自定义窗口
- trigger:自定义触发器
- evictor:自定义evictor
- apply:自定义window function
从定义窗口的基本操做能够看出,先调用window函数,定义一个WindowAssigner对象,
在WindowAssigner中 经过
assignWindows 设定窗口类型,而后基于trigger,evictor来设定触发器,过滤器等,
最后apply来设定用户自定义的窗口函数,同时flink自身也集成了若干个窗口函数,如sum,max,maxBy,reduce等