mapReduce的shuffle过程

http://www.jianshu.com/p/c97ff0ab5f49

总结shuffle 过程:

map端的shuffle:

(1)map端产生数据,放入内存buffer中;

(2)buffer满的时候,将buffer里面的数据按照key来快排,然后写到磁盘中;

 (3)上面每次buffer满都会产生一个磁盘文件,最终会有很多磁盘文件,他们每个都排好序了,最后要把它们合并为一个大文件,就是一个merge的过程;

reduce端的shuffle:

(4)copy过程:reduce通过网络从map端下载数据;

(5)merge过程:下载的数据在内存或磁盘中,把它们merge成一个文件作为reduce的输入。

原文地址:https://www.cnblogs.com/coldyan/p/6200642.html