Google cloud dataflow 为什么我在apache beam中的数据是在几分钟后而不是10小时后发出的?

Google cloud dataflow 为什么我在apache beam中的数据是在几分钟后而不是10小时后发出的?,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,我希望有一个全局窗口,在看到第一个元素后可以持续10个小时,但正在发生的事情会在几分钟(或几秒钟)后发出数据。为什么? 代码: grouped_tis=跟踪信息| beam.WindowInto(window.GlobalWindows(), 触发器=后处理时间(10*3600), 累积模式=累积模式。丢弃)| beam.GroupByKey()| beam.ParDo(MergeTI()) 在30分钟后的数据流中,我已经删除了很多元素:droppedduetoclosedwindow3914

我希望有一个全局窗口,在看到第一个元素后可以持续10个小时,但正在发生的事情会在几分钟(或几秒钟)后发出数据。为什么?

代码:

grouped_tis=跟踪信息| beam.WindowInto(window.GlobalWindows(),
触发器=后处理时间(10*3600),
累积模式=累积模式。丢弃)| beam.GroupByKey()| beam.ParDo(MergeTI())

在30分钟后的数据流中,我已经删除了很多元素:
droppedduetoclosedwindow39147groupbykey

这看起来像是SDK中的一个bug。我已经为ApacheBeam Python SDK开发人员创建了一些工具来研究这个问题

似乎AfterProcessingTime提前启动,导致窗口关闭。由于窗口关闭,随后发生的所有事件都将被正确丢弃