我是靠谱客的博主 激情朋友,这篇文章主要介绍(第六弹)Flink——Flink 触发器 Trigger 详解(附案例实战源码),现在分享给大家,希望可以做个参考。

       在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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(131)

评论列表共有 0 条评论

立即
投稿
返回
顶部