我希望有一个全局窗口,该窗口在看到第一个元素后会持续10个小时,但是正在发生的数据在几分钟(或几秒钟)后就会发出。为什么?
代码:
grouped_tis = tracking_informations | beam.WindowInto(window.GlobalWindows(),
trigger=AfterProcessingTime(10 * 3600),
accumulation_mode=AccumulationMode.DISCARDING) | beam.GroupByKey() | beam.ParDo(MergeTI())
数据流中30分钟后,我已经收到了很多丢弃的元素:droppedDueToClosedWindow 39,147 GroupByKey
答案 0 :(得分:1)
这看起来像是SDK中的错误。我已经为Apache Beam Python SDK开发人员创建了a jira ticket,以调查该问题。
似乎AfterProcessingTime提前触发,并导致窗口关闭。由于关闭了窗口,以后发生的所有事件都将被正确丢弃。