作用:(创建cude)多维度分析 压秒级别
数据源使用 hive 的星型模型 通过手动指定需要分析的维度 把分析结果储存到hbase中
web 使用流程:
1、 创建project(点击加号)
书写 project 的名字 和 描述信息 点击提交生产项目;
2、指定hive中的数据源
通过选择 第二个来选择库和表;(第一个默认是使用 default库 表使用 , 分割; 第三个为对接kafka的时候使用的)
最后点击syc(同步);此时hive中的表的元数据就会同步到kylin中;
在kylin cudeid为分析的维度的组合
总共的cudeid = 2^n -1 (n是选择字段的总数)
3、定义模型
点击model - new model(只支持星型模型)定义模型:即那个是你的事实表(fact table)(),那个是你的维度表(look up table)
定义模型的使用可以fiter 数据 并选择增量的partition
4 、 创建cude (通过跑MR来创建的)
点击model 中的 new 选择 new cude
cube的构建算法:
- 逐层构建:
从维度多的层开始 -》 维度少的层 逐层构建cube
每层都会生成一个MR - 快速构建:1.5以后开始使用
所有的维度都在一个MR中构建出来;
构建cube的优化
-
衍生维度
使用外键维度来代替所有的衍生维度;
使用衍生维度会需要在查询衍生维度的指标的时候跑聚合,因此会变慢,所以需要考虑使用的衍生维度和聚合任务的均衡问题
配置:advance setting -
强制维度
去除不包括强制维度的cube
配置: advance setting -
rowkey的优化
把将来可能用做条件过滤的值放在前面来组件rowkey
基数大的放最基数小的前面 (由于在做集合的时候使用的结果都是选用cubeid id 差的小的进行聚合)
配置:高级设置中直接拖动 -
并发粒度的优化
hbase 的region的数量的优化(通过调参的方式)
kylin.hbase.region.cut 默认 5 GB
kylin.hbase.region.count.min 最小分区数 1
kylin.hbase.region.count.max 最大分区数 500
页面中的配置 configration overwrite kv形式配置
增量构建cube(measures 中指定partition)Model (edit)
列表 --》 选列 -》 格式
(应对时间和日期不在同一个字段中选yes)
自动合并cube
Resfrsh setting 设置合并 :
小合并
大合并
以及开始合并的时间
流式cube的构建
带补充
BI工具的集成
resfule API的集成
需要修改 sql 和 project
jdbc 连接 kylin