kylin的架构
基本操作 kylin
model
可能用到的维度 和可能用到的指标
Cube
业务中需要用到哪个指标 ,及哪个维度 有两个优化
优化的两部分
点击 这个才是正真执行
结果数据存储到哪个表
kylin适合星星模型
model可能用到的维度 和指标
cube 来源 sql ,sql根据业务
没有kylin需要计算 ,有kylin可以直接查询
kylin的底层原理 及优化
维度的组合 情况
n 代表维度的个数
kylin中没有维度 也算一个维度 ,意思是说 没有group by 也算一种
一种可能称为 cubeid
所有的可能组合 cube
要么是维度 要么是指标
kylin的架构
kylin的增量
(增量的同步)
增量同步时 重新编译 ,修改下结束时间
弊端
查询数据的速度太慢了
一个sessagement 对应hbase的一张表 ,同步一个增量数据就会 生成一个sessagement
合并
自动都需要 将cube设置为 无效
手动合并
时间 连续 ,运行期间不能删除数据 ,添加数据 ,修改 ,一个sessagement可以存储多天 也可以存储一天
sessagement再合并时 不许连续合并
(多个一天的合并 ,合并了一个多天的)
有层级关系时 最好是 倍数关系
删除
自动删除
设置保留的时间 ,过了保留的时间后自动删除
设置保留几天,设置保留的天数就会自动删除
用IDEA访问kylin时 只需要关注项目名
kylin Cube的优化
查新cubeid 有多少个的命令
bin /kylin.sh org.apache.kylin.engine.mr.common.CubeStatsReader cubeid名字
在这里插入图片描述
kylin优化有三种
1用不到的情况排除
2有层级的直接使用最后一层
3 不计算衍生维度的那种组合情况
kylin 维护 主键 和非主键 进行映射
原始的
衍生维度
衍生的维度排除计算 那种可能
第一种的结果
第二种
第二种的结果
分枝剪裁
123
聚合组
一种什么都不做
一种选着层级组合