摘要:
在使用kylin聚合组进行优化的时候,往往不知道怎么使用。 这里有2个小案例可以参考。 1。 需要对某个维度进行隔离。 如果有些维度,你不想要它和其他维度一起出现,你就可以单独给它建一个聚合组,并且在其他聚合组里不要把它加进来。这样的话,这个维度就只会单独出现,实现了“隔离”。 2.如果你事先知道了 阅读全文
posted @ 2021-03-09 20:02
肥仔佳文猪
阅读(267)
评论(0)
推荐(0)
摘要:
1.衍生维度。 在kylin中,如果某些维度都属于同一种类型,且数量较多,可以考虑做成衍生维度。 衍生维度就是将一批维度做成一张维度表,只在源表中保留这张表的外键,这样预处理的时候,就只会处理这个外键,而不会去处理维度表中的维度,降低cuboid的数量。 衍生维度用于在有效维度内将维度表上的非主键维 阅读全文
posted @ 2021-03-09 19:53
肥仔佳文猪
阅读(404)
评论(0)
推荐(0)
摘要:
kylin的核心优势在于使用额外的空间存储预计算的结果,以换取查询时间的缩减。 所以我们要对额外的空间进行优化,并且在空间优化之后,cuboid无法完全命中时,对查询时间进行优化。 空间优化的思路就是试图减少额外空间占用,最常用的就是剪枝优化。去掉那些多余的cuboid,减少预聚合的数量 查询时间优 阅读全文
posted @ 2021-03-09 19:25
肥仔佳文猪
阅读(93)
评论(0)
推荐(0)
摘要:
在以hbase为存储的cuboid中,会有很多计算好的数据行,这每个行的key都是由维度值按顺序生成的rowkey 而这个顺序,在我们做cube设计的时候是可以调整的。 具体调整路径是:cube designer -> advanced setting -> rowkey kylin会根据你设计的维 阅读全文
posted @ 2021-03-09 15:57
肥仔佳文猪
阅读(449)
评论(0)
推荐(0)
摘要:
我们知道,系统会对cuboid的数据进行分片处理。 但是默认的分片策略是随机的,如果group by a,b 的查询命中了某个cuboid,但是a=1 and b=1 的两条数据在不同的机器上存储, 那就要将这两条数据返回到存储引擎的driver(hbase里是coprocessor),再根据逻辑做 阅读全文
posted @ 2021-03-09 15:41
肥仔佳文猪
阅读(214)
评论(0)
推荐(0)
浙公网安备 33010602011771号