kylin 优化

简介
kylin sql的执行会在所使用的维度列在cube中选择最合适的cuboid,以最大程度节省查询时间,一个Cuboid对应着一组分析的维度,并保存了度量的聚合结果。Cube就是所有Cuboid的集合,每个节点代表一个Cuboid,每一种维度的组合,将度量做聚合运算,然后将运算的结果保存为一个物化视图,称为Cuboid。所有维度组合的Cuboid作为一个整体,被称为Cube。可以理解为,一个Cube就是许多按维度聚合的物化视图的集合。
kylin的设置优点在于不同 impala等mpp架构,采用的Cube预计算技术。预计算事先将数据按维度组合进行了聚合,将结果保存为物化视图。经过聚合,物化视图的规模就只由维度的基数来决定,而不再随着数据量的增长呈线性增长。数据的增长并不会改变聚合维度的增长,聚合后的物化视图将依旧是原先的大小,查询的速度也将保持不变,而mpp架构小量数据的时候性能表现的较为优异,当数据量翻倍的时候,对应的响应时间也会翻倍,扩容成本较高,对应kylin来说查询响应速度 跟体现在单台服务器的性能上,扩展成本低
1.减少不必要的维度
当维度数量过多,就会导致Cuboid数量以指数级膨胀
2.降低维度基数
如果维度基数过大,还会使所在的Cuboid结果集变大,数据膨胀
3.设置必须维度
设置层级维度,低基数维度,减少维度组合Cuboid的集合
4.需要适时地将一些Segment进行合并
合并相同的Key,从而减少Cube的存储空间,减少htable的数量,提高二次聚合的速度,提高响应性能

KAP的配置文件包括几个部分:kylin.properties,kylin_hive_conf.xml,kylin_job_conf.xml,kylin_job_conf_inmem.xml。其中kylin.properties是KAP的主要配置参数,控制KAP的运行时行为,kylin_hive_conf.xml用于配置KAP与Hive交互的参数,kylin_job_conf.xml用于配置KAP与Hadoop集群交互的参数,其中kylin_job_conf_inmem.xml用在in-memory构建算法,kylin_job_conf.xml用在layer构建算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值