概述
在Flink中,有两种窗口类型,一种是基于时间的窗口timeWindow,一种是基于计数的窗口countWindow。但是是否存在一种情况,如果使用timeWindow,在窗口时间内,出现大量的数据过来,对该窗口的计算产生很大的压力,那该怎么办呢?是否能够结合两种窗口进行触发呢?答案是可以的,trigger正可以达到你的要求。
Trigger的作用:
就是通过自定义一些规则,例如窗口元素上限、时间上限等等,来触发窗口计算。
对于trigger抽象类有如下几个方法:
1、onElement() : 进入窗口的每个元素都会调用该方法。
2、onEventTime() : 事件时间timer触发的时候被调用。
3、onProcessingTime() : 处理时间timer触发的时候会被调用。
4、onMerge() : 有状态的触发器相关,并在它们相应的窗口合并时合并两个触发器的状态,例如使用会话窗口。
5、clear() : 该方法主要是执行窗口的删除操作。
Flink也内置了一些触发器:
-
EventTimeTrigger:基于事件时间和watermark机制来对窗口进行触发计算。
-
ProcessingTimeTrigger:基于处理时间触发。
最后
以上就是激情朋友为你收集整理的(第六弹)Flink——Flink 触发器 Trigger 详解(附案例实战源码)的全部内容,希望文章能够帮你解决(第六弹)Flink——Flink 触发器 Trigger 详解(附案例实战源码)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复