flink windowbytime和triggerbycount的组合

niknxzdl  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(263)
source.keyBy(0)
    .window(TumblingEventTimeWindows.of(Time.seconds(5)))
    .trigger(PurgingTrigger.of(CountTrigger.of[TimeWindow](2)))
    .process(new TestFun())

说明:
假设我有3个事件[e1,e2,e3],它们应该按计数触发,也应该按时间触发。我使用counttrigger只触发2个事件(e1和e2),但其余的e3事件没有触发。
预期:e3事件应在5秒后触发,但实际上它只触发e1和e2事件

guz6ccqo

guz6ccqo1#

这个 CountTrigger 您提供的正在替换 EventTimeTrigger 通常与 TumblingEventTimeWindow ,而不是以某种方式扩展或扩充它。要获得所需的行为,必须实现一个自定义触发器,该触发器可以基于计数和超时触发窗口。
谷歌搜索会找到一些例子和讨论。

相关问题