Map和Reduce中间过程描述

        开始转大数据方向已经一年了,期间基于hadoop平台开发了两个项目,总算是沾边了。这段时间不算忙,借了本翟周伟的《Hadoop核心技术》,总算了解了MapReduce的实现原理。(吐槽下,这本书15年出版,讲的却还是hadoop 1.x版。此外,里面不少错误以及逻辑表达问题。推荐看新版hadoop权威指南)

        MapReduce总的过程相对来说简单明了:

       1、用户提交作业:客户端启动JobClient,并向JobTracker请求分配jobId和hdfs存储目录,上传Jar包、依赖库、输入文件分片信息等;

       2、JobTrack作业调度:JobTracker先把作业放入队列,待调度程序调度。当满足调度条件后,调度程序创建若干map任务和reduce任务,均分配给TaskTracker执行。一般map任务个数与输入的分片个数一致(细节可参考Hadoop2.6.0的FileInputFormat的任务切分原理分析),而Reduce任务个数通过配置文件参数设定。

       3、任务执行:当map任务开始执行时,首先会根据为其分配的分片信息读取数据并生成key-value对;Map函数对这些key-value做处理后,输出另一组key-value对作为结果;

中间经过分区、洗牌等操作后,由reduce任务接收多个map任务的结果,洗牌后形成key-valueList对作为Reduce函数的输入,处理后形成最终结果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值