多并行度的问题
topk
【多并行度的问题】count是时间窗口,设置为TumblingWindow,长度和翻转间隔为10s。
allcount是汇总计数窗口,设置为TumblingWindow,长度和翻转间隔为5个。并行度只能1。
rank是排序窗口。并行度只能1。
单机版VS count 并行度:3版本
文章图片
image.png 分析:count的并行计算输出有快慢差别,所以allcount收到的顺序存在随机性,导致榜单排序结果也随机性,如C3,多并行度计算速度导致落入下一个榜单。
比如我想实现统计每10s内的tpoic,并列出榜单。多并行度下如何保证榜单1统计的时0----10s的数据,榜单2是10s到20s的数据。因为上述的问题中,多并行度的情况下,某个count bolt的0~10s时间窗口的输出可能滑到10s到20s的榜单计算中。
想法2
count的输出带最早的时间戳,allcount改成滚动时间窗口也是10秒。
SG
实现了多并行度
多并行度的
应该根据bolt逻辑考虑,是不是维护一个汇总的信息,还是可以各自计算,比如按field计算,或者共享的量可以用allgroup计算,来考虑这个bolt能不能多并行度。
推荐阅读
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 爱就是希望你好好活着
- 昨夜小楼听风
- 知识
- 死结。
- JS中的各种宽高度定义及其应用
- 我从来不做坏事
- 烦恼和幸福
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- “精神病患者”的角度问题