基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(六)
2016-09-02 11:08
555 查看
基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(六)
2016-08-31 16:16 1362人阅读 评论(4) 收藏 举报分类:
Linux(56)
版权声明:本文为博主原创文章,未经博主允许不得转载。
六、Hue数据可视化实例
本节用Impala、DB查询示例说明Hue的数据查询和可视化功能。
1. Impala查询
在Impala OLAP实例一节中执行了一些查询,现在在Hue里执行查询,直观看一下结果的图形化表示效果。
(1)登录Hue,点击
图标进入“我的文档”页面。
(2)点击
创建一个名为“销售订单”的新项目。
(3)点击
进入Impala查询编辑页面,创建一个新的Impala文档。
(4)在Impala查询编辑页面,选择olap库,然后在编辑窗口输入下面的查询语句。
[sql] view
plain copy
-- 按产品分类查询销售量和销售额
select t2.product_category pro_category,
sum(order_quantity) sum_quantity,
sum(order_amount) sum_amount
from sales_order_fact t1, product_dim t2
where t1.product_sk = t2.product_sk
group by pro_category
order by pro_category;
-- 按产品查询销售量和销售额
select t2.product_name pro_name,
sum(order_quantity) sum_quantity,
sum(order_amount) sum_amount
from sales_order_fact t1, product_dim t2
where t1.product_sk = t2.product_sk
group by pro_name
order by pro_name;
点击“执行”按钮,结果显示按产品分类的销售统计,如下图所示。接着点击“下一页”按钮,结果会显示按产品的销售统计。
(5)点击 “全屏查看结果”按钮,会全屏显示查询结果。
产品统计结果如下图所示。
产品统计柱状图如下图所示。
从图中可以看到,按销售额从大到小排序的产品依次为Hard Disk Drive、Floppy Drive、Flat Panel、Keyboard和LCD Panel。
(6)回到查询编辑页,点击“另存为...”按钮,保存成名为“按产品统计”的查询。
(7)点击“新查询”按钮,按同样的方法再建立一个“按地区统计”的查询。SQL语句如下:
[sql] view
plain copy
-- 按州查询销售量和销售额
select t3.state state,
count(distinct t2.customer_sk) sum_customer_num,
sum(order_amount) sum_order_amount
from sales_order_fact t1
inner join customer_dim t2 on t1.customer_sk = t2.customer_sk
inner join customer_zip_code_dim t3 on t1.customer_zip_code_sk = t3.zip_code_sk
group by state
order by state;
-- 按城市查询销售量和销售额
select t3.city city,
count(distinct t2.customer_sk) sum_customer_num,
sum(order_amount) sum_order_amount
from sales_order_fact t1
inner join customer_dim t2 on t1.customer_sk = t2.customer_sk
inner join customer_zip_code_dim t3 on t1.customer_zip_code_sk = t3.zip_code_sk
group by city
order by city;
城市统计饼图如下图所示。
从图中可以看到,mechanicsburg市的销售占整个销售额的一半。
(8)再建立一个“按年月统计”的查询,这次使用动态表单功能,运行时输入年份。SQL语句如下。
[sql] view
plain copy
-- 按年月查询销售量和销售额
select t4.year*100 + t4.month ym,
sum(order_quantity) sum_quantity,
sum(order_amount) sum_amount
from sales_order_fact t1
inner join order_date_dim t4 on t1.order_date_sk = t4.date_sk
where (t4.year*100 + t4.month) between $ym1 and $ym2
group by ym
order by ym;
注意$ym1和$ym2是动态参数,执行此查询,会出现输入框要求输入参数,如下图所示。
查询2016一年的销售情况,ym1输入201601,ym2输入201612,然后点击“执行查询”,结果线形图如下图所示。
此结果按查询语句中的order by子句排序。
至此,我们定义了三个Impala查询,进入“我的文档”页面可以看到default项目中有三个文档,而“销售订单”项目中没有文档,如下图所示。
(9)把这三个文档移动到“销售订单”项目中。
点击右面列表中的“default”按钮,会弹出“移动到某个项目”页面,点击“销售订单”,如下图所示。
将三个查询文档都如此操作后,在“销售订单”项目中会出现此三个文档,如下图所示。
以上用销售订单的例子演示了一下Hue中的Impala查询及其图形化表示。严格地说,无论是Hue还是Zeppelin,在数据可视化上与传统的BI产品相比还很初级,它们只是提供了几种常见的图表,还缺少基本的上卷、下钻、切块、切片、百分比等功能,如果只想用Hadoop生态圈里的数据可视化工具,也只能期待其逐步完善吧。
(10)最后提供一个Hue文档中通过经纬度进行地图定位的示例,其截图如下所示。
2. DB查询
缺省情况下Hue没有启用DB查询,如果点击“Query Editors” -> “DB 查询”,会提示“当前没有已配置的数据库。”,如下图所示。
按如下方法配置DB查询。
(1)进入CDH Manager的“Hue” -> “配置”页面,在“类别中选择“服务范围” -> “高级”,然后编辑“hue_safety_valve.ini 的 Hue 服务高级配置代码段(安全阀)”配置项,填写类似如下内容:
[plain] view
plain copy
[librdbms]
[[databases]]
[[[mysql]]]
# Name to show in the UI.
nice_name="MySQL DB"
name=hive
engine=mysql
host=172.16.1.102
port=3306
user=root
password=mypassword
这里配置的是一个MySQL数据库,如下图所示。
(2)点击“保存更改”按钮,然后点击“操作” -> “重启”,重启Hue服务。
此时再次在Hue里点击“Query Editors” -> “DB 查询”,则会出现MySQL中hive库表,此库存放的是Hive元数据。此时就可以输入SQL进行查询了,如下图所示。
顶
1
踩
0
上一篇基于hadoop生态圈的数据仓库实践
—— OLAP与数据可视化(五)
我的同类文章
Linux(56)•基于hadoop生态圈的数据仓库实践
—— OLAP与数据可视化(五)2016-08-30阅读306
•基于hadoop生态圈的数据仓库实践
—— OLAP与数据可视化(二)2016-08-19阅读9685
•基于hadoop生态圈的数据仓库实践
—— 进阶技术(十七)2016-08-11阅读1511
•基于hadoop生态圈的数据仓库实践
—— 进阶技术(十五)2016-08-09阅读3054
•基于Hadoop生态圈的数据仓库实践
—— 进阶技术(十三)2016-08-05阅读920
•基于hadoop生态圈的数据仓库实践
—— OLAP与数据可视化(三)2016-08-25阅读2067
•基于hadoop生态圈的数据仓库实践
—— OLAP与数据可视化(一)2016-08-17阅读4042
•基于hadoop生态圈的数据仓库实践
—— 进阶技术(十六)2016-08-10阅读1170
•基于Hadoop生态圈的数据仓库实践
—— 进阶技术(十四)2016-08-08阅读1545
•基于Hadoop生态圈的数据仓库实践
—— 进阶技术(十二)2016-08-04阅读1945
更多文章
参考知识库
Hadoop知识库
874关注|438收录MySQL知识库
8543关注|1396收录猜你在找
Hadoop生态系统零基础入门
Hadoop 2.X大数据平台基础
MySQL SQL优化及高可用公开课视频分享
基于MyCat的MySQL高可用读写分离集群
Spring实战-使用SSH框架技术开发学籍管理系统
基于Hadoop生态圈的数据仓库实践 进阶技术十四
基于Hadoop生态圈的数据仓库实践 ETL二
基于hadoop生态圈的数据仓库实践 进阶技术十六
基于Hadoop生态圈的数据仓库实践 进阶技术五
基于Hadoop生态圈的数据仓库实践 概述一
相关文章推荐
- 基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(五)
- 基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(三)
- 基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(二)
- 基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(一)
- 基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(六)
- 基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(四)
- 基于Hadoop生态圈的数据仓库实践 —— ETL(一)
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(七)
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(三)
- 基于hadoop生态圈的数据仓库实践 —— 进阶技术(十七)
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(四)
- 基于Hadoop生态圈的数据仓库实践 —— ETL(三)
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(十一)
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(十三)
- 基于hadoop生态圈的数据仓库实践 —— 进阶技术(十五)
- 基于Hadoop生态圈的数据仓库实践 —— 目录
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(五)
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(二)
- 基于Hadoop生态圈的数据仓库实践 —— 概述(二)
- 基于Hadoop生态圈的数据仓库实践 —— 环境搭建(二)