在 ContinuousEventTimeTrigger 的基础上新增了timeout,如果超时后窗口都没关闭,那么就硬输出一波,避免间断数据,留存窗口太久.
ContinuousEventTimeTrigger
ContinuousEventTimeTrigger连续事件时间触发器与ContinuousProcessingTimeTrigger连续处理时间触发器,指定一个固定时间间隔interval,不需要等到窗口结束才能获取结果,能够在固定的interval获取到窗口的中间结果。文章来源:https://www.toymoban.com/news/detail-631844.html
自定义的 ContinuousEventTimeTriggerWithTimeOut
固定interval如果迟迟不关闭 可以强行提前输出内部残留数据文章来源地址https://www.toymoban.com/news/detail-631844.html
idea本地运行即可
package com.yy.flinkWindowAndTrigger
import com.yy.Trigger.ContinuousEventTimeTriggerWithTimeOut
import com.yy.flinkWindow.M1
import org.apache.flink.api.common.eventtime.WatermarkStrategy
import org.apache.flink.configuration.{Configuration, RestOptions}
import org.apache.flink.connector.kafka.source.KafkaSource
import org.apache.flink.connector.kafka.source.enumerator.initializer.OffsetsInitializer
import org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExtractor
import org.apache.flink.streaming.api
到了这里,关于flink1.17 自定义trigger ContinuousEventTimeTrigger的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!