界面操作:
1,创建新的project
2,单击web界面的Model -》 DataSource下的load hive table ,输入表名,用逗号分隔,单击sync,
3,创建model。model是cube的基础,它主要用于描述星型模型。有了数据模型,定义cube的时候就可以直接从此模型定义的表和列中进行选择,省去重复指定连接条件的步骤。基于一个数据模型可以创建多个cube。
给模型输入名称后,选择一个事实表(必须),然后添加维度表(可选)
添加维度表时候,选择连接类型,Inner还是Left,然后选择连接的主键和外键,这里也支持多主键。
接下来选择维度和度量的列,这里只是一个范围,不代表这些列将来一定要用作Cube的维度或度量,你可以把所有可能要用的列都选择出来,后续创建Cube的时候,只能从这些列中进行选择。
选择维度列时,维度可从事实表或维度表
选择度量列时,度量只能从事实表。
4,创建cube
选择使用的数据模型
选择cube维度
创建度量
关于cube数据刷新的设置
高级设置:kylin默认会把所有维度都放在同一个聚合组中;如果维度数较多,建议用户根据查询的习惯和模式,将维度分为多个聚合组。比如原来cubeid有2的m+n次方个,分成两组后,2的m次方+2的n次方。
单个聚合组中,可以对维度设置高级属性Mandatory,Hierarchy,Joint
Mandatory维度指的是总是会出现在where或group by语句中的维度,设定后,kylin就可以不用预计算那些不包含此维度的cuboid,从而减少计算
Hierarcy是一组有层级关系的维度,例如国家,省,市。那么查询时一定是国+省,或国+省+市来查询,不会跨越国家直接group by省。kylin会过滤掉不满足此模式下的cubid
join是将多个维度组合成一个维度,适用如下两种情形:
1,总是会在一起查询的维度,2,基数很低的维度
调整rowkey顺序,根据用户查询习惯,常用的放前面
5,构建cube