环形缓冲区-Hadoop Shuffle过程中的利器

开源大数据EMR 2020-02-18

hadoop 排序 metadata 磁盘 存储 数组

这篇文章来自一个读者在面试过程中的一个问题,Hadoop在shuffle过程中使用了一个数据结构-环形缓冲区。

环形队列是在实际编程极为有用的数据结构,它是一个首尾相连的FIFO的数据结构,采用数组的线性空间,数据组织简单。能很快知道队列是否满为空。能以很快速度的来存取数据。 因为有简单高效的原因,甚至在硬件都实现了环形队列。

环形队列广泛用于网络数据收发,和不同程序间数据交换(比如内核与应用程序大量交换数据,从硬件接收大量数据)均使用了环形队列。

环形缓冲区数据结构

Map过程中环形缓冲区是指数据被map处理之后会先放入内存,内存中的这片区域就是环形缓冲区。

环形缓冲区是在MapTask.MapOutputBuffer中定义的,相关的属性如下:

// k/v accounting
// 存放meta数据的IntBuffer,都是int en


登录 后评论
下一篇
云栖号资讯小编
1579人浏览
2020-04-07
相关推荐
[Hadoop]MapReducer工作过程
669人浏览
2016-12-30 10:28:55
Hadoop之 MapReducer工作过程
896人浏览
2017-11-12 01:09:00
MapReduce-深度剖析
769人浏览
2017-11-16 16:23:00
Hadoop工作机制
1102人浏览
2014-03-28 17:38:00
MapReduce-深度剖析
1195人浏览
2016-04-25 16:02:30
MapReduce-深度剖析
1212人浏览
2016-04-25 16:33:47
mapreduce运行机制
1525人浏览
2016-05-19 13:50:32
Hadoop工作机制
1084人浏览
2014-03-28 17:38:00
MapReduce的过程(2)
1136人浏览
2016-04-17 16:54:00
MapReduce概念以及运行机制
740人浏览
2017-11-22 18:10:00
MapReduce工作机制
593人浏览
2016-05-07 12:54:34
0
0
0
9260