MapReduce编程模型--接口体系结构--架构设计--《hadoop技术内幕》读书笔记


编程接口介于 用户程序层 MapReduce Runtime之间。

又可以分为:工具层和编程接口层(java)

工具层主要有:JobControl,chainMapper/ChainReducer  其他的提供多语言支持,这里不介绍了

编程接口层: 就是开发程序时的要实现的接口:InputFormat  ,  Mapper , Partitioner , Reducer ,OutputFormat

先从总体上有个感觉,之后再详细介绍。 

文章信息主要来自 《hadoop技术内幕》,特此声明。


以下部分转自:http://www.open-open.com/lib/view/open1370958898835.html,特此声明。


Map Task 执行过程如下图 所示。由该图可知,Map Task 先将对应的split 迭代解析成一个个key/value 对,依次调用用户自定义的map() 函数进行处理,最终将临时结果存放到本地磁盘上,其中临时数据被分成若干个partition,每个partition 将被一个Reduce Task 处理。

3.jpeg

 

Reduce Task 执行过程下图所示。该过程分为三个阶段:

①从远程节点上读取MapTask 中间结果(称为“Shuffle 阶段”);

②按照key 对key/value 对进行排序(称为“Sort 阶段”);

③依次读取<key, value list>,调用用户自定义的reduce() 函数处理,并将最终结果存到HDFS 上(称为“Reduce 阶段”)。

4.jpeg




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值