有没有懂 flink 实时计算的老哥,请教一个问题

2019-11-17 22:32:25 +08:00
 zcguo

我想要计算实时的当日 pv,比如今天是 11 月 16 日,在 11 月 16 日的 3 点要计算一个从 0 点到 3 点时候的 pv,然后 5 点时候要计算一个从 0 点到 5 点的 pv,我看 flink 的滑动窗口和滚动窗口都不能实现这种从固定一个点开始算的需求,该怎么做的这种,谢谢老哥们了

2654 次点击
所在节点    程序员
6 条回复
outoftimeerror
2019-11-18 00:40:02 +08:00
看你这需求就是求一个累加 和窗口没啥关系
ebingtel
2019-11-18 08:06:11 +08:00
是的不支持……可以变通下:第一条流统计每个小时的、输出;再分别起 3h、5h 的两个流……
ebingtel
2019-11-18 08:34:31 +08:00
@ebingtel 1 天就 24 个点,感觉后面两个流不用起了……数据库查一下就行了
picone
2019-11-18 10:24:38 +08:00
先计算每小时的,存数据库就好了,读取的时候再指定时间。
5 点时候没必要重复计算 0-3 时的 pv
xiaoidea
2019-11-18 16:43:31 +08:00
1. 窗口也是基于 state 的,你可以直接在 function 中用 state 作为计数器,计数器的累加根据你的需求可以设计为日期为 key,pv 为 value
2. 使用外部存储,比如 redis,不好的地方是失败恢复时可能导致数据不准
FireCat
2020-11-11 11:54:39 +08:00
每小时一个 Window

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/620467

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX