数据可视化(六)----Pentaho Report Design案例二---连接hive

转载请注明出处:数据可视化(六)----Pentaho Report Design案例二—连接hive

本文记录如何使用hive的作为数据源创建报表。

官网参考链接:
https://wiki.pentaho.com/display/BAD/Reporting+on+Hive+Data

环境准备

在创建报表前需要具备以下环境:
Hadoop
Pentaho Data Integration
Hive
Report Designer
RDBMS Database

数据准备

示例数据压缩包下载链接:
https://wiki.pentaho.com/download/attachments/23532261/weblogs_hive.zip?version=1&modificationDate=1328719928000&api=v2
内容是web的日志数据,使用tab分割。

打开hive 的shell,创建hive表格

create table weblogs_agg (
    client_ip    string,
    year    string,
    month    string,
    month_num    int,
    pageviews    bigint
)
row format delimited;

关闭hive的shell,在linux的shell中运行加载数据命令:

hadoop fs –put weblog_hive.txt /user/hive/warehouse/weblogs_agg/

创建report

打开Report Designer
选择’File’ -> ‘Report Wizard’ -> from the menu system
选择Template。
可以选择想要的样式,然后next。

数据可视化(六)----Pentaho Report Design案例二---连接hive

创建数据源

点击加号,选择JDBC。
数据可视化(六)----Pentaho Report Design案例二---连接hive

选择sample query。

点击加号创建新的连接。

Connection Name: 输入 ‘Hive’.
Connection Type: 选择 ‘Hadoop Hive’.
Host Name and Port Number: 输入hive的信息. 本地单点集群 使用 host ‘localhost’ 和 port ‘10000’.
Database Name: 输入 ‘default’
User Name 和 Password 为空.
点击Test按钮是否能正确连接,如果不能检查以上信息是否与自己的环境对应。

数据可视化(六)----Pentaho Report Design案例二---连接hive
数据可视化(六)----Pentaho Report Design案例二---连接hive

创建查询

选中刚才新建的连接 ‘hive’。
点击加号。
查询名称输入page views。
输入以下 query语句。

Select year, month,month_num, sum(pageviews) as pageviews
From weblogs_agg
Group by year, month,month_num
Order by year, month_num

数据可视化(六)----Pentaho Report Design案例二---连接hive

同样的操作创建第二个查询IP Addresses。
语句为

Select distinct client_ip from weblogs_agg

数据可视化(六)----Pentaho Report Design案例二---连接hive

创建完两个查询后Report Design Wizard应该如图:
数据可视化(六)----Pentaho Report Design案例二---连接hive

创建报告图层

我们需要告诉Report Design Wizard怎么展示我们的报告。
在Group Items By中增加year。
在Selected Items增加month 和 pageviews 。
数据可视化(六)----Pentaho Report Design案例二---连接hive

创建参数

创建参数的目的是 当我们在展示报告时,能够选择特殊的参数进行展示。
在目录栏选择 ‘Data’ -> ‘Add Parameter’ 然后按以下操作:
选择 ‘JDBC (Hive)’ 数据源
Name: 输入 ‘paramIPAddress’.
Label: 输入 ‘IP Address’
Value Type: 选择’String’
检查 ‘Mandatory’
Display Type: ‘Drop Down’
Query: 选择 ‘IP Addresses’
Value: 选择 ‘client_ip’
Display Name: 选择 ‘client_ip’

做完以上操作如图:
数据可视化(六)----Pentaho Report Design案例二---连接hive

使用参数进行查询

在‘Data’面板中展开JDBC: Hive,对着Page Views右键,选择‘Edit Query’。
数据可视化(六)----Pentaho Report Design案例二---连接hive

可以使用动态参数如下:

Where client_ip = ${paramIPAddress} 

$号前需要有空格。

完整语句如下:

Select year, month,month_num, sum(pageviews) as pageviews
From weblogs_agg
Where client_ip = ${paramIPAddress}
Group by year, month,month_num
Order by year, month_num

保存报告

选择’File’ -> ‘Save as…’ 起名hive_report.prpt

预览报告

‘File’ -> ‘Preview’ -> ‘Print Preview’
预览报告窗口会打开。
选择IP Address下拉框。
显示如图:
数据可视化(六)----Pentaho Report Design案例二---连接hive

转载请注明出处:数据可视化(六)----Pentaho Report Design案例二—连接hive