MapReduce
过程
,,,,,
mapreduce全过程
shuffle过程只是把同一文件的内容合并,并不是归并过程
mapReduce过程
324234
MapReduce的四个阶段
split阶段 分片输入阶段
Map
shuffle阶段
4.reduce阶段
WordCount完整过程
MapReduce四个阶段
整个MapReduce过程
reduce阶段:
输入一样是key-value的形式,key是单词本身,value是出现次数的集合。
在reduce方法中会对这个次数进行累加求和。最终输出key-value形式的结果,key是单词,value是数显次数的累加和。
重复以上逻辑,知道所有单词都统计完毕。
shuffle阶段:
过程比较复杂,会在后面进行详细介绍,可以理解为从map输出到reduce输入的过程
map阶段:
输入阶段会以key-value的形式,首先是第一行输入的key为1,key就是行号,value就是文本。
经过map的逻辑处理对输入进行拆分,第一行被分为三个单词
单词作为key,出现的次数作为value
mapper类会对第一行第二行重复这个逻辑,知道输出结束为止。最终见文本中所有的单词拆分。
首先,后三个文本,经过分片处理之后被分为三个分片,分别作为map阶段的输入。
split阶段:
文件1和文件2,经过分片处理之后,被分为三个分片,在map阶段会分别作为输入。
MapReduce的四个阶段
map - shuffle - reduce
mapreduce
Word Count实例回顾:
1、Input(输入文件)
2、Split阶段(分片输入阶段),将数据以<Key,Value>的形式输入到Map阶段
3、Map阶段。得到的每一行数据都会被拆分,将原始Value拆分,重新组成新的<Key,Value>,其中新的Key为原始的Value,新的Value为该数据出现一次,最终将所有新数据输入到Shuffle阶段
4、Shuffle阶段。该阶段比较复杂,简单解释就是将从Map得到的<Key,Value>新数据重新归类,将所有相同的Key重新归到一起,但是Value只进行归类不进行次数统计,将最后数据同样以<Key,Value>的形式输入到Reduce阶段
5、Reduce阶段。接收到Shuffle阶段传来的数据,将数据进行处理,对每一个Value进行求和处理,最后重新生成输出结果。