我是陌生人。我按照flink网站上的快速入门,在一台机器上部署flink。在我执行“./bin/flink run examples / streaming / SocketWindowWordCount.jar --port 9000”并输入网站描述的单词后,我得到了结果:final result
看来该程序没有做减少,我只是想知道为什么?谢谢。
该程序确实做了减少,但并不完全,因为你的输入必须落入两个不同的5秒窗口。这就是ipsum的4个实例报告为1 + 3的原因 - 第一个落入一个窗口,另一个落入另一个窗口(连同“再见”)。
Flink的窗口边界基于与时钟的对齐。因此,如果您的输入事件发生在14:00:04和14:00:08之间,那么它们将分为两个5秒窗口 - 一个用于14:00:00 - 14:00:04.999,另一个用于14: 00:05 - 14:00:09.999 - 即使你的所有事件都适合一个只有4秒钟的间隔。
如果再试一次,您可能会看到类似但可能不同的结果。这是基于“处理时间”进行窗口分析的结果。如果您希望应用程序获得可重复的结果,则应该计划使用“event time”分析(其中时间戳基于事件发生的时间而不是处理时间)。