shuffle流程图

 

1.map端有一个环形缓冲区,由于存储数据的,默认大小为100M,当存放的数据达到80M时,就会落地成一个文件,写到hdfs上,然后继续向环形缓冲区中写数据,当环形缓冲区写满是,map端的数据写入就会阻塞停滞,等待缓冲区中的数据写完为止。

2.在环形数据写入到磁盘之前,会根据Reduce个数进行对数据分区,对分区后的数据根据key进行预排序,

3.一旦达到写出条件,就会写出到磁盘中,当磁盘上有很多小文件时,系统就会将小文件合并成大文件,

4.当map端会和nn去通信,从reduce也会和我nn去通信,然后这个过程是全局统计,不同的reduce会拿不同分区中的数据

5.Reduce端也有一个缓冲区,在这一端会将数据按照分区将数据复制到缓冲区中,当达到阀值,就会溢出为小文件,当小文件达到一定数量后就会进行合并操作

6.最后将数据输送给Reduce函数进行计算。

注意:在面试的过程中一定要把简单的问题复杂化,把知识点将的越细越好,这个可以提高自己面试给别人感觉

 

 

  

 

posted @ 2018-01-17 20:21  光辉蝈蝈  阅读(473)  评论(0编辑  收藏  举报