开发者社区> 问答> 正文

flink sql 窗口使用了处理时间滚动窗口方式 但是都是只有5分结束的时候才能把聚合结果输出

我现在遇到有这样一个场景,我们需要实时去统计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邮件归档

展开
收起
游客nnqbtnagn7h6s 2021-12-06 20:39:51 1611 0
1 条回答
写回答
取消 提交回答
  • 我觉得既然你想要事实输出数据,那就没必要用窗口,用了时间窗口,那就是按照窗口大小来统计了,不能同时两个都实现吧,把这两种场景分开分别实现,或者你要想得到每分钟的聚合结果,就缩小窗口大小。

    *来自志愿者整理的flink邮件归档

    2021-12-06 21:53:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载