flink-user-zh mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From USERNAME <oracle...@126.com>
Subject FLINK 1.9.1 TriggerResult.FIRE_AND_PURGE 与 ctx.registerEventTimeTimer()
Date Sun, 19 Jan 2020 05:27:17 GMT
大家新年快乐!


版本: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会有哪些操作?好像不止清理了窗口数据,还对触发时间有操作呀?

















Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message