大家新年快乐!
版本:FLINK 1.9.1 ----部分代码 .keyBy("key") .window(EventTimeSessionWindows.withGap(Time.hours(1))) .trigger(new NewTrigger()) .process(new NewProcess()) --NewTrigger() @Override public TriggerResult onElement(Bean bean, long l, TimeWindow timeWindow, TriggerContext ctx) throws Exception { .. ctx.registerEventTimeTimer(l + INTERVAL); return TriggerResult.FIRE_AND_PURGE; } 问题: 通过触发器,定义在窗口内,每隔固定时间计算一次并且清空计算数据,正常如果固定时间内没有数据也要输出一次。 但是实际用的时候只有窗口有数据的时候才会触发process计算,如果没有数据不会触发,TriggerResult.FIRE_AND_PURGE改为TriggerResult.FIRE之后就可以正常的固定每隔一定时间输出一次。 TriggerResult.FIRE_AND_PURGE会有哪些操作?好像不止清理了窗口数据,还对触发时间有操作呀?