前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pentaho Work with Big Data(六)—— 使用Pentaho MapReduce生成聚合数据集

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

作者头像
用户1148526
发布2022-05-07 13:08:25
3910
发布2022-05-07 13:08:25
举报
文章被收录于专栏:Hadoop数据仓库Hadoop数据仓库

本示例说明如何使用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类型

代码语言:javascript
复制
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”列填写如下内容:

代码语言:javascript
复制
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,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档