MapReduce编程基础(一)——基础知识

MapReduce编程基础

MapReduce任务可以被分为map和reduce两部分。

Map任务

map任务可以细分为4个阶段:record reader、mapper、combiner、partitioner
map任务的输出被称为中间键,会被发送到reducer做后续处理。

1.record reader

record reader 将输入split解析成记录。record reader 的目的是将输入数据解析成记录,但不负责解析记录本身。它将数据转换为键/值对的形式,并传递给mapper处理。通常键是数据在文件中的位置,值是组成及记录的数据块。

2.map

在mapper中,用户定义的map代码通过处理record reader解析的每个键/值对来产生0个或多个新的键/值对结果。其中,键/值对的选择对MapReduce作业的完成效率来说非常重要。
键是数据在reducer中处理时被分组的依据,值是reducer需要分析的数据。

3.combiner

combiner是一个可选的本地reducer,可以在map阶段聚合数据(注意:combiner是属于本地map的)。combiner通过执行用户指定的来自mapper的中间结果做单个map范围内的聚合。combiner可以产生特别大的性能提升。

4.partitioner

partitioner的作用是将mapper(如果使用了combiner的话就是combiner)的输出的键/值对拆分分片,每个reducer对应一个分片。默认情况下采用散列值进行划分,这种方法不仅能够随机的将整个键空间平均发给每个reducer,同时也能保证不同mapper产生的相同的键可以被发送到同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值