多并行度的问题

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能不能多并行度。

    推荐阅读