Mapreduce基本工作流程

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

以用wordcount计算一个文本为例 

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

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

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

细化过程之后:

其中:

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

发布了9 篇原创文章 · 获赞 4 · 访问量 2821

猜你喜欢

转载自blog.csdn.net/weixin_44129672/article/details/88634577