开发者社区> 问答> 正文

窗口去重

Hi,All: 请教一个问题,现在有个实时场景:需要对每 5 分钟内数据进行去重,然后 Sink。 比如: 数据 {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}

第一种情景,不考虑时间去重,结果如下: {ts: 2019-12-10 16:24:00 id: 1} {ts: 2019-12-10 16:23:00 id: 2} {ts: 2019-12-10 16:29:00 id: 2} {ts: 2019-12-10 16:27:00 id: 3}

第二种情景,考虑时间去重,结果如下: {ts: 2019-12-10 16:21:00 id: 1} {ts: 2019-12-10 16:23:00 id: 2} {ts: 2019-12-10 16:26:00 id: 2} {ts: 2019-12-10 16:27:00 id: 3}

请教下,对于上面两种情景,分别有什么高效实时的解决方案么, 谢谢?我想了一下用 5min 窗口,和 ProcessWindowFunction 可以解决,但是 ProcessWindowFunction 要缓存 5min 的窗口数据,但是有延迟。 *来自志愿者整理的flink邮件归档

展开
收起
EXCEED 2021-12-08 11:39:25 1202 0
1 条回答
写回答
取消 提交回答
  • 第一种情况,用firstvalue这种聚合函数; 第二种情况,用min聚合函数,然后group by id,是不是就是你要的结果?*来自志愿者整理的flink邮件归档

    2021-12-08 14:34:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载