Count Window 在 Flink 0.9.0 Release 中是 Local 或 Global

Count Window is Local or Global in Flink 0.9.0 Release

我在运行自己修改wordcount样本的时候遇到了Flink 0.9.0 Release的问题。我发现 count window 的行为是 local window ,这与官方文档不同。而且我还在 https://issues.apache.org/jira/browse/FLINK-1657 中发现了一个已修复的错误。哪个是正确答案?任何帮助,将不胜感激!非常感谢

在应用 window:

之前,您需要分组
dataStream.flatMap(new WordCount.Tokenizer()).groupBy(0).window(Count.of(8)).every(Count.of(4)).sum(1).‌​flatten().print()

Count windows 是本地组装的(据我所知)。目前,Flink 不提供任何顺序保证,因此,在本地构建计数 windows 可提供最佳性能。

现在的规范答案是时间是全球性的(因为时间总是全球性的),所有其他 windows 是本地的或未明确定义。

我们知道这方面存在一些问题,目前正在为下一个版本稍微修改 API。您可以在此处阅读设计文档:https://cwiki.apache.org/confluence/display/FLINK/Streams+and+Operations+on+Streams and https://cwiki.apache.org/confluence/display/FLINK/Time+and+Order+in+Streams

通过这些更改,我们试图让哪些 windows 是并行处理的以及什么是 global/local.

变得非常清楚