我按照flink网站上的快速入门,在一台机器上部署flink。在我执行“./bin/flink run examples / streaming / SocketWindowWordCount.jar --port 9000”并输入网站描述的单词后,我得到了结果:最终结果
看来程序没有做减少,我只是想知道为什么?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
该程序确实做了减少,但并不完全,因为你的输入必须落入两个不同的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秒钟的间隔。
如果再试一次,您可能会看到类似但可能不同的结果。这是基于“处理时间”进行窗口分析的结果。如果您希望应用程序获得可重复的结果,则应该计划使用“ 事件时间 ”分析(其中时间戳基于事件发生的时间而不是处理时间)。