一、使用衍生维度
### --- 使用衍生维度
~~~ 一个维度可以是普通维度或者是衍生维度(Derived)。
~~~ 将维度表的维度设置为衍生维度,
~~~ 这个维度不会参与预计算,而是使用维度表的主键(或事实表的外键)来替代它。
~~~ Kylin会在底层记录维表主键与维度表其他维度之间的映射关系,
~~~ 以便在查询时能够动态地将维度表的主键翻译成这些非主键维度,并进行实时聚合。
~~~ 创建Cube的时候,这些维度如果指定为衍生维度,
~~~ Kylin将会排除这些维度,而是使用维度表的主键来代替它们创建Cuboid。
~~~ 后续查询的时候,再基于主键的聚合结果,再进行一次聚合。
~~~ 使用衍生维度会有效减少Cube中 Cuboid 的数量;但在查询时会增加聚合的时间。
### --- 不适用的场景:
~~~ 如果从维度表主键到某个维度表维度所需要的聚合工作量非常大,
~~~ 此时作为一个普通的维度聚合更合适,否则会影响Kylin的查询性能
二、案例一:定义衍生维度及对比:
### --- 案例一:定义衍生维度及对比:
~~~ # 有以下时间日期维表:
~~~ # 构建流程
~~~ 创建项目 => 指定数据源 => 定