kylin学习(二):kylin客户端的使用 -- model与cube的创建,kylin性能查看

关于hive数据库的导入以及kylin的安装,这里就不做过多介绍了。

1.Project工程创建

1)点击图上所示“+”号,创建项目
在这里插入图片描述

2)填入项目名及描述点击Submit,一个项目中可以有多个model和cube
在这里插入图片描述

2. 数据源选择

1)选择加载数据源方式
主要包含:

  • Load Hive table:从hive表中同步
  • Load Hive Table From Tree:从hive表中同步,以树结构显示表结构
  • Add streaming Table:通过数据流同步,既json方式创建表。

在这里插入图片描述

2)从数据源中获取表:
从hive表中同步:
在这里插入图片描述
以树结构显示表结构:
在这里插入图片描述

3)查看数据源
在这里插入图片描述

3.创建model

1)回到Models页面
在这里插入图片描述

2)点击New按钮后点击New Model
在这里插入图片描述

3)填写Model名称及描述后Next
在这里插入图片描述

4)选择事实表
在这里插入图片描述
5)添加维度表
在这里插入图片描述

6)选择添加的维度表及join字段
在这里插入图片描述
在这里插入图片描述

7)选择维度信息。维度计算方式是2的N次方,既维度越多,统计时越慢。所以选择维度时要确定按照那些字段统计,没必要的不需要统计。
在这里插入图片描述

8)选择度量信息。只能从事实表中选
该度量主要是在统计时,过滤符合度量中的字段进行维度统计,其他的抛弃。比如:有A/B/C/D四个维度,既16中组合,如果度量是A/B,那么维度在统计时,只统计包含A/B的维度,其他的抛弃,不统计。
在这里插入图片描述

9)选择分区字段(该字段必须是日期类型,必须包含在数据源的事实表中),选择格式化时间方式,。
此字段是解决数据仓库中存在增量表和全量表的问题。全量表,就是比如用户表,只有一张表;增量表就是比如订单表,按时间分区,可能一年一张表或者一天一张表。
partition是为了增量表服务的,比如一天一张表的增量表,设置了此字段后,可以一天生成一个cube。而不需要自己重新设置cube生成。

下面的filter可以添加where条件对数据源中的数据做过滤,比如只想计算2018年的数据,可以在这里提前进行过滤,减少计算量
在这里插入图片描述

10)创建Model完成
在这里插入图片描述

4.创建cube

1)点击New按钮然后选择New Cube

2)选择Model及填写Cube Name。notification email list是选填项,表示报警接收人邮件地址,多个邮件地址以逗号隔开。
在这里插入图片描述

3)添加维度。有两种方式:一是手动添加dimession,二是使用自动生成,
在这里插入图片描述
在这里插入图片描述

4)添加需要做预计算的内容(指标)。
其中count是系统默认自带的,统计count(1)。
需要注意的是kylin中hive表中每一列字段的类型要求比较严格。dimession字段需要为String,用来加和的指标字段须为bigint或者decimal
在这里插入图片描述
在这里插入图片描述

5)动态更新相关。
设置merge时间。Kylin每次build会生成一张hbase表,merge操作会把多天数据合并成一张新的hbase表。可加快查询。
设置partition Start Date,即数据源开始时间,默认为1970-01-01
在这里插入图片描述

6)高阶模块:

  • Includes:查询包含列字段。
  • Mandatory Dimensions:每次查询均会使用的维度可添加在此。比如某些情况下的partition column。
  • Hierarchy Dimensions:维度列中彼此间存在层级关系的列,比如“国家-省份-市-县”
  • Joint Dimensions:每次查询会同时使用或不使用的维度组合。
  • Aggregation Group:在不同的查询中,两组维度组合之间不会产生交叉,可选择此选项,比如所有的cube维度有 [ a,b,c,d,e,f ] 6个,每次查询中只会同时查与 [ a,b,c ] 相关的信息(比如[a],[a,c]等)而不会查询 [ d,e,f ],或者相反,则可选择此选项。
    在这里插入图片描述
    以上选择均可减少build过程中的数据量,是加快build与query速度的优化点之一

7)需要修改的配置
在这里插入图片描述

8)Cube信息展示
在这里插入图片描述

9)Cube配置完成
在这里插入图片描述

10)触发预计算build:
其他操作说明:

Drop:丢弃现有cube,条件:无Pending, Running, Error 状态的job.
Edit:编辑现有cube,条件:cube需处于disable状态。
Refresh:重建某已有时间段数据,针对于已build时间段的源数据发生了改变的情况。
Merge:手动触发merge操作。
Enable:使拥有至少一个有效segment的cube从disable变为enable状态。
Purge:清空所有该cube的数据。
Clone:克隆一个新的cube,可设置新的名字,其他相关配置与原cube相同。
Disable:使一个处于ready状态的cube变为Disable状态,查询不会从disable的cube中获取数据
在这里插入图片描述

11)查看Build进度:
未运行的任务,actions可以有pause(暂停),discard(放弃),diagnosis(诊断)等操作,若有放弃该job,则点击discard;若运行中有问题,可以点击diagnosis来诊断问题
在这里插入图片描述

12)构建Cube完成
在这里插入图片描述

5.cube信息查看:

1)SQL:就是星型模型的连接表
在这里插入图片描述
2)JSON:所有cube的信息用json展示出来
在这里插入图片描述
3)Planner:5个维度,31个cuboid。
在这里插入图片描述

6.cube效果展示:

6.1 需求:

根据部门名称[dname]统计员工薪资总数[sum(sal)]

6.2 hive的查询效果:

hive> select dname,sum(sal) from emp e join dept d on e.deptno = d.deptno group by dname;
Query ID = atguigu_20181210104140_4931b735-5bad-4a4f-bce6-67985b8fe30a
Total jobs = 1
SLF4J: Class path contains multiple SLF4J bindings.
… …
… …
Stage-Stage-2: Map: 1  Reduce: 1   Cumulative CPU: 3.95 sec   HDFS Read: 13195 HDFS Write: 48 SUCCESS
Total MapReduce CPU Time Spent: 3 seconds 950 msec
OK
ACCOUNTING      3750.0
RESEARCH        10875.0
SALES   9400.0
Time taken: 23.893 seconds, Fetched: 3 row(s)
hive>

6.3 kylin查询:

1)进入Insight页面
在这里插入图片描述
2)在New Query中输入查询语句并Submit
在这里插入图片描述
3)数据图表展示及导出
在这里插入图片描述
4)图表展示之条形图
在这里插入图片描述
5)图表展示之饼图
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值