想啥呢,小宝贝,还不三连???(关注 + 点赞 + 再看),对博主的肯定,会督促博主持续的输出更多的优质实战内容!!!
1.序篇
源码公众号后台回复1.13.2 cumulate window 的奇妙解析之路获取。
此节就是窗口聚合章节的第三篇,上节介绍了 1.13 window tvf tumble window 实现,本节主要介绍 1.13. window tvf 的一个重磅更新,即 cumulate window。
本节从以下几个章节给大家详细介绍 cumulate window 的能力。
-
应用场景介绍
-
预期的效果
-
解决方案介绍
-
总结及展望篇
2.应用场景介绍
先来一个简单的小调查:在实时场景中,你见到过最多的指标需求场景是哪一种?
答案:博主相信,占比比较多的不是 PCU(即同时在线 PV,UV),而是周期内累计 PV,UV 指标(如每天累计到当前这一分钟的 PV,UV)。因为这类指标是一段周期内的累计状态,对分析师来说更具统计分析价值,而且几乎所有的复合指标都是基于此类指标的统计(不然离线为啥都要一天的数据,而不要一分钟的数据呢)。
本文要介绍的就是周期内累计 PV,UV 指标在 flink 1.13 版本的最优解决方案。
3.预期的效果
先来一个实际案例来看看在具体输入值的场景下,输出值应该长啥样。
指标:每天的截止当前分钟的累计 money(sum(money)),去重 id 数(count(distinct id))。每天代表窗口大小为 1 天,分钟代表移动步长为分钟级别。
来一波输入数据:
time | id | money |
---|---|---|
2021-11-01 00:01:00 | A | 3 |
2021-11-01 00:01:00 | B | 5 |
2021-11-01 00:01:00 | A | 7 |
2021-11-01 00:02:00 | C | 3 |
2021-11-01 00:03:00 | C | 10 |
预期输出数据:
time | count distinct id | sum money |
---|---|---|
2021-11-01 00:01:00 | 2 | 15 |
2021-11-01 00:02:00 | 3 | 18 |
2021-11-01 00:03:00 | 3 | 28 |
转化为折线图长这样: