kylin学习(一)

关键概念:

olap(联机分析查询)

维(Dimension) ,例如时间维

维的层次(level,例如时间维:日期,月份,季度,

维的成员(Member):维的一个取值 ,例如某年某月某日

度量(Measure):多维数值的取值,例如(2000年,上海,笔记本,0000)。

事实表(fact table):用来存放事实的度量值和各个维度的码值

维表:用来存放维的元数据(维的层次、成员类别等描述信息)

星型模型(Star Schema)

MOLAP(多维联机事务分析)

cube 分区:实现数据的逻辑分段(减少重复和清除重要数据),立方体数据结构可以存储一个或多个分区上

cube reflesh(cube 更新):

 增量更新:将新数据添加到立方体的分区并更新聚合。增量更新用新的数据创建临时分区并把它合并到现有分区。


根据现在的业务情况,频繁修改表字段名,Kylin直接使用hive中的字段名作为元数据,如果频繁修改事实表或者维度表的字段名会导致元数据错误([https://issues.apache.org/jira/browse/KYLIN-1173]),因此通过view增加一层映射是比较好的方法,这样可以使得原生的hive表的字段名对Kylin的cube透明,此后再需要修改字段名的时候不会对cube有所影响,只需要修改view的定义。

源表字段经常改变,有些字段类型和实际不符,所以必须通过对源表创建不同视图,kylin使用视图来构建cube


1、业务查询语句:


create view product_cube as 
select userid, eventid, label, day, ‘android’ as platform from product_android WHERE category=’a’ 
UNION ALL 
select userid, eventid, label, day, ‘ios’ as platform from product_ios WHERE category=’a’; 


2、对应创建视图:

create view product_cube as 
select userid, eventid, label, day, ‘android’ as platform from product_android WHERE category=’a’ 
UNION ALL 
select userid, eventid, label, day, ‘ios’ as platform from product_ios WHERE category=’a’;

x,x,x是维度,xxx是messure, 

  3、在kylin里面,创建一个工程

4、在tables里面同步刚刚创建的视图

5、新增cube,添加fact table 和 dim表,此处没有dim表,所有数据都在fact table里面,不需要join dim表

6、增加维度

7、增加messure值


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值