多并行度的问题

topk

count是时间窗口,设置为TumblingWindow,长度和翻转间隔为10s。
allcount是汇总计数窗口,设置为TumblingWindow,长度和翻转间隔为5个。并行度只能1。
rank是排序窗口。并行度只能1。

单机版VS count 并行度:3版本


多并行度的问题_第1张图片
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能不能多并行度。

你可能感兴趣的:(多并行度的问题)