开发者社区> 问答> 正文

flink滑动窗口输出结果的问题

大家好, 我现在的场景需求是,窗口size是1个小时,每分钟触发统计一次结果。比如现在是10点钟,则统计9点到10点的结果。 下一分钟则在10:01分时触发统计9:01到10:01的结果。

如果用Sliding window, 比如.timeWindow(Time.hours(1L), Time.minutes(1)), 则会输出60/1=60个结果集,这不是我想要的结果,我只想要当前时间往前一个小时的结果。

除了在window function api做逻辑过虑外,还有什么方法可以实现这种场景?

滚动窗口的话不适合,它每次是输出整点的,比如从9点到10点,然后就跳到10点到11点,也不符合我的业务要求。*来自志愿者整理的flink邮件归档

展开
收起
毛毛虫雨 2021-12-08 11:50:55 1431 0
1 条回答
写回答
取消 提交回答
  • 对的是我!

    这种情况一般是kafka的某个分区,不存在数据,导致总体的watermark不前进。遇到这种情况一般是需要手动设置idle source[1]。但是社区的watemark push down存在一些问题[2],已经在修复了。

    [1] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout [2] https://issues.apache.org/jira/browse/FLINK-20947?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel*来自志愿者整理的flink邮件归档

    2021-12-08 17:07:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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