Mapreduce基本工作流程

map 端从hdfs读入数据到完成映射到详细过程:

Mapreduce基本工作流程_第1张图片

以用wordcount计算一个文本为例 

Mapreduce基本工作流程_第2张图片

读取数据之后在内存中的大体形式是:键值对

map task 要做排序(方便索引),并且会把结果写在本地磁盘上(而不是写入hdfs,以免占用大量资源),reduce直接通过yarn找到对应的map,从map的磁盘上读取结果进行reduce(聚合),也会通过归并排序进行排序

reduce会把最终结果写入hdfs而不是磁盘,这样可以可靠的永久保存我们的结果

细化过程之后:

Mapreduce基本工作流程_第3张图片

其中:

map通过关键字的哈希值求余进行分类,这里分为了三类,并且把相同的类交给同一个reduce处理,这样保证了不同的reduce task处理的数据不会有重复,最后每个ruduce计算出的结果也都是不重复的

你可能感兴趣的:(Mapreduce基本工作流程)