企业网络营销策略设计seo网站优化价格
在 ContinuousEventTimeTrigger 的基础上新增了timeout,如果超时后窗口都没关闭,那么就硬输出一波,避免间断数据,留存窗口太久.
ContinuousEventTimeTrigger
ContinuousEventTimeTrigger连续事件时间触发器与ContinuousProcessingTimeTrigger连续处理时间触发器,指定一个固定时间间隔interval,不需要等到窗口结束才能获取结果,能够在固定的interval获取到窗口的中间结果。
自定义的 ContinuousEventTimeTriggerWithTimeOut
固定interval如果迟迟不关闭 可以强行提前输出内部残留数据
idea本地运行即可
package com.yy.flinkWindowAndTriggerimport 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