Hadoop学习之MapReduce(二)

本文深入探讨Hadoop1.x中的MapReduce框架,重点讲解Mapper和Reducer类,以及它们如何处理键值对。Mapper将输入键值对映射为中间键值对,Reducer则对Mapper的输出进行分组、排序和减少操作。文章还介绍了Partitioner、Combiner、Shuffle和Sort阶段,以及如何调整Mapper和Reducer的数量以优化效率。

在通过WordCount的例子直观地了解了MapReduce框架的作业如何编写后,现在对MapReduce框架中的关键接口或者类进行深入地地探索和学习。主要讲解Hadoop1.x中的接口和类,也就是org.apache.hadoop.mapreduce包中的接口和类,上面介绍的WordCount作业也是实现了这个包中的接口和类。首先会介绍Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>和Reducer<KEYIN,VALUEIN,KEYOUT,VALUEOUT>类,应用程序一般通过集成这两个类来实现map和reduce方法,而不同于之前版本中实现Mapper和Reducer接口。然后会介绍其它的接口或者类,包括InputFormat<K,V>、Job、Configuration 、OutputFormat<K,V>、Partitioner<KEY,VALUE>、Context、ToolRunner、Tool、Configured 等。最后通过介绍MapReduce的一些有用的特性,比如DistributedCache,结束MapReduce的学习。

类Mapper将输入的键值对映射为中间键值对的集合。Maps是独立的任务,将输入的记录转化为中间记录,这些转化而来的中间记录不需要和输入记录保持一致的类型。一个给定的输入键值对可能映射为零或者多个输出键值对。MapReduce框架为每个由作业的InputFormat产生的InputSplit生成一个Map任务。Mapper类的实现可以通过使用JobContext.getConfig

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

skyWalker_ONLY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值