- 基于kylin-3.0
背景
- 在熟悉完kylin中提供的案例表结构后(kylin-learn_kylin表结构解读)后,需要开始创建自己的model,然后根据model创建所需要的cube;
model建立
- 在model建立阶段,主要是解决事实表、维度表之间的关系,为后面的cube创建提供基础;一个model可以创建多个cube;
-
注意:在编译model的时候,不能有cube仍在使用,如下:
错误信息
第一步
- 在确定建立之前一定需要设计好表之间的模型关系;
-
Model Name
必须是全局唯一;(因为需要在Hbase中以rowkey的形式存储)
model
第二步
-
添加维度表
lookups - 其中选项
Skip snapshot for this lookup table
:维度表超过300m的需要选择此项。在kylin中默认维度表在300m一下会快照到加载到内存中;
第三步
-
添加维度信息;
dim - 这个阶段主要是选择各个表可能用到的维度表;可以多添加一些,因为还需要在cube上进行选择,在cube阶段只会显示在model里面定义好的维度;
- 维度可以来自事实表或者是维度表;
第四步
- 添加度量值
- 注意:度量值只能来自事实表或不加载进内存的维度表;
Measures
第五步
- 为模型补充分割时间列消息和过滤条件;如果模型中的事实表记录是按照时间增长,那么可以指定一个日期/时间列作为模型的分割时间列,从而可以让cube按此列做增量构建;
-
过滤(Filter)条件是指:如果想把一些记录忽略掉,那么这可以设置一个过滤条件。Kylin在向Hive请求源数据时,会带上过滤条件。
setting
结束语
- 在建立完model后,万里长征刚开始决定从中央苏区瑞金出发;
网友评论