目录
测试数据表结构介绍
1、(事实表)dw_sales
列名 | 列类型 | 说明 |
id | string | 订单id |
date1 | string | 订单日期 |
channelid | string | 订单渠道(商场、京东、天猫) |
productid | string | 产品id |
regionid | string | 区域名称 |
amount | int | 商品下单数量 |
price | double | 商品金额 |
2、(维度表_渠道方式)dim_channel
列名 | 列类型 | 说明 |
channelid | string | 渠道id |
channelname | string | 渠道名称 |
3、(维度表_产品名称)dim_product
列名 | 列类型 | 说明 |
productid | string | 产品id |
productname | string | 产品名称 |
4、(维度表_区域)dim_region
列名 | 类类型 | 说明 |
regionid | string | 区域id |
regionname | string | 区域名称 |
导入测试数据
准备一些测试表、测试数据。
- Hive中创建表
- 将数据从本地文件导入到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
导入数据到表中
5、执行一条SQL语句,确认数据是否已经成功导入
select * from dw_sales;
按照日期统计订单总额/总数量(Hive方式)
编写SQL语句
select date1, sum(price) as total_money, sum(amount) as total_amount from dw_sales group by date1,channelid
按照日期统计订单总额/总数量(Kylin方式)
使用kylin对数据进行预计算流程
要使用Kylin进行OLAP分析,需要按照以下方式来进行。
1、创建项目(Project)
2、创建数据源(DataSource)
- 指定有哪些数据需要进行数据分析
3、创建模型(Model)
- 指定具体要对哪个事实表、那些维度进行数据分析
设置 Model 的参数
选择 事实表
事实表的特征:表里没有存放实际的内容,他是一堆主键的集合,这些ID分别能对应到维度表中的一条记录。
( Kylin 大多数为 星型 模型 )
选择维度表
维度 : 表示要对数据进行分析时所用的一个量,比如你要分析产品销售情况, 你可以选择按类别进行分析,或按区域分析。这样的按..分析就构成一个维度。上图中的用户表、商家表、时间表这些都属于维度表。这些表都有一个唯一的主键,然后在表中存放了详细的数据信息。
选择 事实表中 所有的 有可能用到的 维度
选择 所需要 查看的 指标 / 度量 所需要的字段
右下角 出现 Success 表示 Model 创建成功
4、创建立方体(Cube)
- 指定对哪个数据模型执行数据预处理,生成不同维度的数据
选择 Model 和 设置 Cube名称 其他先不配置 直接 下一步
选择 明确需要的 字段 维度
选择 指标 或者 度量
选择 计算方式
5、执行构建、等待构建完成
查看进度
小知识 : 如果这里 有一处 报错 或者 加载不成功
查看 集群中 的 jps (Kylin 所需要的 是否 都正常运行中 )
启动集群
1、启动zookeeper
zkstart-all.sh
2、启动HDFS
启动
start-all.sh
关闭
stop-all.sh
3、启动YARN集群
4、启动HBase集群
cd /export/servers/hbase-1.1.1/bin
启动
start-hbase.sh
进入 Hbase shell 窗口
[root@node001 conf]# hbase shell
然后 list 查看 是否 Hbase 成功
5、启动 metastore
nohup hive --service metastore &
6、启动 hiverserver2
nohup hive --service hiveserver2 &
7、启动Yarn history server
mr-jobhistory-daemon.sh start historyserver
8、启动spark history server【可选】
sbin/start-history-server.sh
7、启动kylin
./kylin.sh start
6、再执行SQL查询,获取结果