我现在遇到有这样一个场景,我们需要实时去统计5分和30分的粒度,flink sql 窗口使用了处理时间滚动窗口方式 但是都是只有5分结束的时候才能把聚合结果输出,这个不满足我们需求,有没有方式可以直接实时输出结果,比如18:02 的统计+1+1 都能直接落在18:00-18:05的窗口上,并每次+1都能实时输出,而不是等到窗口结束才sink 到mysql .30分钟同5分种,这种flink sql 如何实现。
比如数据 {ts: 2019-12-10 16:24:00 id: 1} {ts: 2019-12-10 16:22:00 id: 1} {ts: 2019-12-10 16:23:00 id: 2} {ts: 2019-12-10 16:21:00 id: 1} {ts: 2019-12-10 16:29:00 id: 2} {ts: 2019-12-10 16:27:00 id: 3} {ts: 2019-12-10 16:26:00 id: 2}
*来自志愿者整理的flink邮件归档
我觉得既然你想要事实输出数据,那就没必要用窗口,用了时间窗口,那就是按照窗口大小来统计了,不能同时两个都实现吧,把这两种场景分开分别实现,或者你要想得到每分钟的聚合结果,就缩小窗口大小。
*来自志愿者整理的flink邮件归档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。