固定窗口的默认水印是什么?



我正在阅读Tyler Akidau的文章the-world-beyond-batch-streaming-102。对于水印,我仍然有点困惑,即关于文章中的代码:

PCollection<KV<String, Integer>> scores = input
  .apply(Window.into(FixedWindows.of(Duration.standardMinutes(2)))
               .triggering(AtWatermark()))
  .apply(Sum.integersPerKey());

它只是在水印处告诉引擎触发器,但引擎如何知道水印?据我了解,这应该是用户需要说的某种时间延迟。还是引擎构建得如此智能,以至于它试图为用户制作一个(根据某些默认策略或配置(?

非常感谢。

Google Dataflow(这是Tyler Akidau在你引用的文章中描述的(可以使用启发式方法来估计水印 - 有关更多详细信息,请参阅此答案。

另一方面,Flink 依赖于由数据源或水印生成器发出的显式水印。最常见的方法是假设有界延迟。

相关内容

  • 没有找到相关文章

最新更新