原创

Pentaho Work with Big Data(六)—— 使用Pentaho MapReduce生成聚合数据集

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://wxy0327.blog.csdn.net/article/details/51152429
本示例说明如何使用Pentaho MapReduce把细节数据转换和汇总成一个聚合数据集。当给一个关系型数据仓库或数据集市准备待抽取的数据时,这是一个常见使用场景。我们使用格式化的web日志数据作为细节数据,并且建立一个聚合文件,包含按IP和年月分组的PV数。

关于如何使用Pentaho MapReduce把原始web日志解析成格式化的记录,参考http://blog.csdn.net/wzy0623/article/details/51145570

一、向HDFS导入示例数据文件
将weblogs_parse.txt文件放到HDFS的/user/grid/parse/目录下(因资源有限,本示例只取了这个文件的前100行数据)
参考:http://blog.csdn.net/wzy0623/article/details/51133760

二、建立一个用于Mapper的转换
1. 新建一个转换,如图1所示。


图1

2. 编辑'MapReduce Input'步骤,如图2所示。


图2

3. 编辑'Split Fields'步骤,如图3所示。


图3

说明:“字段”如下所示,所有字段都是String类型
client_ip
full_request_date
day
month
month_num
year
hour
minute
second
timezone
http_verb
uri
http_status_code
bytes_returned
referrer
user_agent
4. 编辑'User Defined Java Expression'步骤,如图4所示。


图4

说明:“Java Expression”列填写如下内容:
client_ip + '\t' + year + '\t' + month_num
5. 编辑'MapReduce Output'步骤,如图5所示。


图5

将转换保存为aggregate_mapper.ktr

三、建立一个用于Reducer的转换
1. 新建一个转换,如图6所示。


图6

2. 编辑'MapReduce Input'步骤,如图7所示。


图7

3. 编辑'Group by'步骤,如图8所示。


图8

4. 编辑'MapReduce Output'步骤,如图9所示。


图9

将转换保存为aggregate_reducer.ktr

四、建立一个调用MapReduce步骤的作业,使用mapper和reducer转换。
1. 新建一个作业,如图10所示。


图10

2. 编辑'Pentaho MapReduce'作业项,如图11到图14所示。


图11


图12


图13


图14

说明:
. 需要编辑“Mapper”、“Reducer”、“Job Setup”和“Cluster”四个标签
. hadoop_local是已经建立好的Hadoop Clusters连接,设置如图15所示


图15

建立过程参考http://blog.csdn.net/wzy0623/article/details/51086821

将作业保存为aggregate_mr.kjb

五、执行作业并验证输出
1. 启动hadoop集群
# 启动HDFS
$HADOOP_HOME/sbin/start-dfs.sh
# 启动yarn
$HADOOP_HOME/sbin/start-yarn.sh
# 启动historyserver
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver

2. 执行作业,日志如图16所示。


图16

从图16可以看到,作业已经成功执行。

3. 检查Hadoop的输出文件,结果如图17所示。


图17


从图17可以看到,/user/grid/aggregate_mr目录下生成了名为part-00000输出文件,文件中包含按IP和年月分组的PV数。

参考:
http://wiki.pentaho.com/display/BAD/Using+Pentaho+MapReduce+to+Generate+an+Aggregate+Dataset
文章最后发布于: 2016-04-14 16:22:48
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览