这么有趣的Kylin入门实操,你值得一试!

        上一篇博客已经为各位朋友带来了Kylin的简介以及安装部署(👉第一个"国产"Apache顶级项目——Kylin,了解一下!)。本篇博客,博主为大家带来的是关于Kylin的实际应用操作!

        码字不易,先赞后看,养成习惯

在这里插入图片描述


入门案例

测试数据表结构介绍

1、(事实表)dw_sales

列名列类型说明
idstring订单id
date1string订单日期
channelidstring订单渠道(商场、京东、天猫)
productidstring产品id
regionidstring区域名称
amountint商品下单数量
pricedouble商品金额

2、(维度表_渠道方式)dim_channel

列名列类型说明
channelidstring渠道id
channelnamestring渠道名称

3、(维度表_产品名称)dim_product

列名列类型说明
productidstring产品id
productnamestring产品名称

4、(维度表_区域)dim_region

列名列类型说明
regionidstring区域id
regionnamestring区域名称

导入测试数据

为了方便后续学习Kylin的使用,需要准备一些测试表、测试数据。

1.Hive中创建表
2.将数据从本地文件导入到Hive

操作步骤

1、使用 beeline 连接Hive

!connect jdbc:hive2://node1:10000

2、创建并切换到 itcast_dw 数据库

create database itcast_kylin_dw;
use itcast_kylin_dw;

3、找到资料中的hive.sql文件,执行sql、创建测试表

-- 查看表是否创建成功
show tables;

在这里插入图片描述
4、在home目录创建~/dat_file 文件夹,并将测试数据文件上传到该文件夹中
mkdir ~/dat_file

导入数据到表中

-- 导入数据
LOAD DATA LOCAL INPATH '/root/dat_file/dw_sales_data.txt' OVERWRITE  INTO TABLE dw_sales;
LOAD DATA LOCAL INPATH '/root/dat_file/dim_channel_data.txt' OVERWRITE  INTO TABLE dim_channel;
LOAD DATA LOCAL INPATH '/root/dat_file/dim_product_data.txt' OVERWRITE  INTO TABLE dim_product;
LOAD DATA LOCAL INPATH '/root/dat_file/dim_region_data.txt' OVERWRITE  INTO TABLE dim_region;

5、执行一条SQL语句,确认数据是否已经成功导入
在这里插入图片描述

指标和维度

在完成了上面的数据准备操作后,我们就开始进行kylin的实际操作了。但我们还需要先了解什么是指标和维度

先来看下面这个问题
在这里插入图片描述
相信各位朋友已经有了自己的答案,这里提供一种思路:

红色字体是指标/度量?还是维度?
答案:指标/度量【到底要看什么?获取什么?】

蓝色字体是指标/度量?还是维度?
答案:维度【怎么看!怎么获取!】

结论:需求决定哪些是维度,哪些是指标。

好了,明确了什么是维度,什么是指标之后,我们就可以开启kylin的使用之旅了~

按照日期统计订单总额/总数量(Kylin方式)

要使用Kylin进行OLAP分析,需要按照以下方式来进行。

1、创建项目(Project)

2、创建数据源(DataSource)

  • 指定有哪些数据需要进行数据分析

3、创建模型(Model)

  • 指定具体要对哪个事实表、那些维度进行数据分析

4、创建立方体(Cube)

  • 指定对哪个数据模型执行数据预处理,生成不同维度的数据

5、执行构建、等待构建完成

6、再执行SQL查询,获取结果

  • 从Cube中查询数据
具体步骤:
1、创建项目(Project)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、创建数据源(DataSource)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、创建模型(Model)

在这里插入图片描述
设置model名称
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
直接下一步
在这里插入图片描述
save保存完毕,就可以看见一个已经创建好了的Model
在这里插入图片描述

4、创建立方体(Cube)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存完毕,我们可以看见一个新的Cube已经创建好了~
在这里插入图片描述

5、执行构建、等待构建完成

在这里插入图片描述
此时进度条还是灰色的,稍等片刻,等到加载完毕~
在这里插入图片描述
在这里插入图片描述
待加载完毕,我们可以发现此时的cube状态已经变成READY了。
在这里插入图片描述

6、再执行SQL查询,获取结果

从Cube中查询数据
在这里插入图片描述
在这里插入图片描述

我们可以发现用Kylin执行HQL语句的速度最早为3.88s,第二次执行就变成了0.01s

那如果在Hive的命令行窗口执行相同的HQL语句,耗时将为多少呢?
在这里插入图片描述
可以看到Hive将HQL转化成MapReduce程序去执行后,查询的时间为12.764s,这个速度与上面用Kylin执行的速度相比,差了近100倍。如果数据量更大一些,Kylin的优势将会更加明显。

下面我们来总结一下上面这个入门案例:

如果有认真执行上面演示的案例
我相信推导出下面的关系应该不难
在这里插入图片描述
        因为我们在设置Model的时候,会选择事实表中所有有可能用到的维度,而在设置Cube的时候,就需要根据实际的SQL需求,选择确定使用到的维度。

        在创建一个Cube的时候,第一步就需要选择依赖于一个Model,所以Model和Cube的对应关系应该是一对多,且Model包含Cube的关系。

        另外,在Cube内的元素,也是可以重复的,不同的Cube就相当于一个Model的子集。

在这里插入图片描述
        关于前面的步骤中,设置维度—维度就是sql中GroupBY后面的字段.

在这里插入图片描述
        设置指标/度量—指标/度量就是sql中select 后面的字段.
        整个配置过程都来源于SQL,来源于需求。
在这里插入图片描述
        运用所学这里再回顾一下刚介绍Kylin时所介绍的架构图
在这里插入图片描述
        可以看出,整个流程分为创建项目引入数据创建模型创建cube编译查询

        另外,我们在最后查看最终计算完毕的结果数据时,可以发现一些额外的信息。

        Kylin将查询后的结果写入到了HBase的表中
在这里插入图片描述
        我们根据显示的信息,去HBase中查询

在这里插入图片描述
在这里插入图片描述
可以发现虽然内容被加密了,但是能证明有数据

说明初次体验Kylin体验还是不错的~

在这里插入图片描述


总结

        本篇博客用一个入门案例为大家演示了Kylin的基本操作,关于Kylin的进阶操作会在后续的博文中为大家揭晓,敬请期待!

        如果以上过程中出现了任何的纰漏错误,烦请大佬们指正😅

        受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波🙏

在这里插入图片描述

评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据梦想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值