flink:socketwindowcount示例的结果不是我所期望的

ldioqlga  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(281)

我是Flink的新手。我遵循flink网站上的quickstart,在一台机器上部署flink。在我执行“/bin/flink run examples/streaming/socketwindowwordcount.jar--port 9000”并输入网站描述的单词之后,我得到result:final result
好像程序没有做还原,我只是想知道为什么?谢谢。

pokxtpni

pokxtpni1#

这个程序确实做了一个reduce,但不是完全的,因为你的输入必须落在两个不同的5秒窗口中。这就是为什么ipsum的4个例子被报告为1+3——第一个掉进了一个窗口,另外3个掉进了另一个窗口(还有“再见”)。
Flink的窗口边界基于与时钟的对齐。因此,如果您的输入事件发生在14:00:04和14:00:08之间,例如,它们将分为两个5秒的窗口—一个用于14:00:00-14:00:04.999,另一个用于14:00:05-14:00:09.999—即使您的所有事件都适合于一个只有4秒长的间隔。
如果你再试一次,你可以期待看到类似的,但可能不同的结果。这是基于“处理时间”进行窗口分析的结果。如果您希望应用程序获得可重复的结果,则应计划改用“事件时间”分析(时间戳基于事件发生的时间,而不是处理事件的时间)。

相关问题