kylin的核心的概念及特点
是一个多维分析引擎
它的建模思想始终贯穿“维度建模思想:星型思想(雪花模型)”
它的查询速度之所以很快因为他是预计算的
预计算的引擎:可以是MR,可以是spark,也可以是flink
预计算是什么?
预计算多维数据立方体cube(类似于hivesql中的whit cube 得到的结果)
如果模型的维度高达几十个,则cube的计算量和结果的数据量都会爆表,怎么办:
设计好恰当的维度剪枝方案
维度剪枝优化方案有哪些?
利用衍生纬度(定义为衍生纬度的纬度不参与计算)
利用聚合组(大量消除组间纬度组合)
利用聚合组内的减枝维度手段:必选维度,层级维度,联合维度
kylin预计算产生的结果cube存放在哪里?
hbase,每一个segment存储为一个表
cube产生的表可以自动或者手动合并
cube在hbase中存储的表中的rowkey是怎么组成的?
以各纬度(通过一定的优化编码技术)拼接而成
什么叫cuboid?
一种维度组合计算的结果叫cuboid,
所有维度组合计算的结果为base cuboid
各种N维cuboid都是base cuboid逐级聚合运算产生的
什么叫全量构建?
针对数据源所有数据进行cube计算,就是全量构建
什么叫做增量构建?什么叫做segment?
针对数据源表的一个分区或者某一段进行cube计算,就是增量构建,
对于此次产生构建的结果就是segment
怎么样实现自动增量构建?
通过curl 命令调用 kylin的 restapi接口实现构建增量表,然后将命令编写成shell脚本,放入azkaban中调度,就可以自动构建增量表。
怎样实现在自己的web系统中查询kylin 的数据?
通过jdbc连接kylin 使用sql查询