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

Streaming 固定窗口中的默认水印是什么?,streaming,apache-flink,flink-streaming,Streaming,Apache Flink,Flink Streaming,我正在读泰勒·阿基道尔的文章。对于水印,我仍然有点困惑,即关于文章中的代码: PCollection<KV<String, Integer>> scores = input .apply(Window.into(FixedWindows.of(Duration.standardMinutes(2))) .triggering(AtWatermark())) .apply(Sum.integersPerKey()); p收集分数=输

我正在读泰勒·阿基道尔的文章。对于水印,我仍然有点困惑,即关于文章中的代码:

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

  .apply(Sum.integersPerKey());
p收集分数=输入
.apply(Window.into(FixedWindows.of(Duration.standardMinutes(2)))
.触发(AtWatermark()))
.apply(Sum.integersPerKey());
它只是在水印处告诉引擎触发器,但引擎如何知道水印?据我所知,这应该是用户需要说的某种时间延迟。或者引擎是如此智能以至于它试图为用户制作一个(根据一些默认策略或配置)

非常感谢。

谷歌数据流(Tyler Akidau在您引用的文章中描述了这一点)可以使用启发式方法来估计水印——有关更多详细信息,请参阅

另一方面,Flink依赖于显式的水印,这些水印要么是由。最常见的方法是假设有界延迟。

谷歌数据流(这是Tyler Akidau在您引用的文章中描述的)可以使用启发式方法来估计水印,请参阅以获取更多详细信息


另一方面,Flink依赖于显式的水印,这些水印要么是由。最常用的方法是假设有界延迟。

非常感谢,答案非常有用。非常感谢,答案非常有用。