Kettle实现MapReduce之WordCount

一.创建Mapper转换

如下图,mapper读取hdfs输入,进行word的切分,输出每个word和整数常量值

 

 1>MapReduce Input:Mapper输入,读取HDFS上的输入文件内容以键值对存储;

 2>Spit filed to rows:读取value值以分隔符 "|"  进行切分(注意我这里hdfs文件中的word是以"|"隔开的)

 3>Add constants:给每次出现的word追加一个常量字段mapValue,值为整数1.

 4>MapReduce Output:Mapper输出,key为每个word,这里为mapKey,value为常量值mapValue.

 

二.创建Reducer转换

如下图,Reducer读取mapper的输出.按照每个key值进行分组,对相应的常量值字段进行聚合,这里是做sum,然后最终输出到hdfs文件中去.

 

 

1>MapReduce input:读取Mapper中的输出作为Reducer的输入

2>GroupByKey:按照key进行分组(这里key是每个word), 然后对value进行聚合sum,求出每个word出现的总次数;

3>MapReduce Output:最终的键值对,每行以<单词,总次数>来输出到hdfs上去.

 

三.创建MapReduce Job.

创建最终的MapReduce Job,配置相应参数,调用MapperReducer,见下图

 

1>START:表示job的开始

2>SetMRVariables:组件是set variables,用于设置一些MapReduce执行所需要的参数的全局变量值,hdfs input path;

3>MapReduceWordCount:组件是Pentaho MapReduce组件,用来配置需要调用的MapperReducer以及集群相关信息.

以上配置好以后执行MapReduce Job,会提交至Hadoop集群并运行成功,如上图,可以同时看到MapReduce的执行进度。

鉴于kettle能对字段做各种切分,组合以及正则等处理,还可以自定义java class,所以基本的MR程序都可以快速配置出来.

以上配置的Job下载链接:http://files.cnblogs.com/files/cssdongl/MRJobTest.7z

参考资料:http://wiki.pentaho.com/display/BAD/Understanding+How+Pentaho+works+with+Hadoop

分类:  Hadoop
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kettle是一个强大的ETL(Extract, Transform, Load)工具,可以用于数据的抽取、转换和加载。在数据流处理中,血缘是指数据的来源和去向关系,即某个数据是由哪些数据生成的,同时该数据被哪些地方使用。 kettle通过提供丰富的功能和组件,帮助用户轻松实现数据的血缘关系追踪。首先,kettle可以连接到多种数据源,如数据库、文件、Web服务等,用户可以通过配置数据源的连接信息,将数据抽取到kettle的工作流中。 在数据转换阶段,kettle提供了多种转换组件,如字段映射、数据过滤、聚合等,用户可以根据需求对数据进行加工和处理。在每个转换组件中,kettle都记录了输入数据的来源,包括字段映射前的原始字段、上一个转换组件的输出结果等。 在数据加载阶段,kettle将加工处理之后的数据加载到目标数据源中。同时,kettle还可以将血缘信息写入一个专门的血缘数据库表,记录每个数据的来源和去向,以及其经过的转换组件等详细信息。 通过查询血缘数据库表,用户可以清楚地了解每个数据的血缘关系。如果需要追溯某个数据的来源和去向,用户只需要查找该数据在血缘数据库表中的记录即可。此外,kettle还支持将血缘关系以图形化的形式展示,方便用户更直观地理解和分析。 总之,kettle提供了一套完善的功能和工具,帮助用户实现数据的血缘关系追踪。通过对数据源的连接、转换组件的配置和血缘数据库表的记录,用户可以方便地了解数据的来源和去向,实现对数据流的全面监控和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值