码迷,mamicode.com
首页 > 其他好文 > 详细

16-hadoop-mapreduce简介

时间:2017-06-24 19:40:44      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:oop   nbsp   log   而不是   定义   过程   class   规模   通过   

mapreduce是hadoop的核心组件, 设计理念是移动计算而不是移动数据,

mapreduce的思想是‘分而治之‘, 将复杂的任务分解成几个简单的任务去执行

1, 数据和计算规模大大减少
2, 就近计算, 移动计算
3, 小任务并行计算, 彼此间没有依赖

  

共分为4个步骤: 

技术分享

 

1, split

切分blcok, 切分为数据片段, split0, split1, split2

 

计算公式为: 

技术分享

2, map

自定义的程序, 根据业务需求来的,

map任务的多少, 根据碎片的多少来的, 即上一步切分为多少个split , 每个split位一个线程,  split传递的数据为 key-value的形式, 输出形式也为键值对

 

技术分享

 

相同key的数据, 输出为一组数据, 然后将数据进行下一步, 洗牌(sharp)

  

3, shuffler

 包括 sort 和 merger, 把mapper输出的的数据进行切分, 排序, 组合等操作, 吧key符合某种范围的输出到特定的reducer那里

技术分享

 

 过程为: 

技术分享

 

 

 

4, reduce

reduce的数量, 技术分享

 

一个mapreduce 默认 只有一个reduce , 可通过配置分区数来更改reduce的数量

 

16-hadoop-mapreduce简介

标签:oop   nbsp   log   而不是   定义   过程   class   规模   通过   

原文地址:http://www.cnblogs.com/wenbronk/p/7074128.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!