kylin的rowkey优化之按维度分片

我们知道,系统会对cuboid的数据进行分片处理。

但是默认的分片策略是随机的,如果group by a,b 的查询命中了某个cuboid,但是a=1 and b=1 的两条数据在不同的机器上存储,

那就要将这两条数据返回到存储引擎的driver(hbase里是coprocessor),再根据逻辑做聚合。

这样就产生了一个数据的优化空间。

如果我们将所有a 和b 值相同的数据都存在一台机器上,

那么我们就可以在返回driver的时候,先在本地进行聚合。这样不但节省了返回的数据量,也利用了各个机器的计算资源,解放了driver端的单台计算。

这个分片方式就是按维度分片

posted @ 2021-03-09 15:41  肥仔佳文猪  阅读(213)  评论(0)    收藏  举报