hadoop之Shuffle过程中的环形缓冲区原理
一 概念1. 什么是Shuffle过程?Shuffle过程是指Map方法之后,Reduce方法之前的数据处理过程。2.什么是hadoop环形缓冲区?hadoop的环形缓冲区其实只是一个简单的buffer,在这里是一个缓存数组(byte),默认大小是100M,源码如下:3.什么是equator(赤道)?最初的时候,equator在数组的最前端,可以将数组想象为环形,首尾相接,此时,equator就既
一 概念
1. 什么是Shuffle过程?
- Shuffle过程是指Map方法之后,Reduce方法之前的数据处理过程。
2.什么是hadoop环形缓冲区?
hadoop的环形缓冲区其实只是一个简单的buffer,在这里是一个缓存数组(byte),默认大小是100M,源码如下:
3.什么是equator(赤道)?
最初的时候,equator在数组的最前端,可以将数组想象为环形,首尾相接,此时,equator就既在数组的开头,又在数组的结尾
二 环形缓冲区原理
环形缓冲区其实是一个数组,数组中存放着key和value的数据,以及关于key和value的元数据信息,key/value的元数据存储的格式是int类型,每个key/value对应一个元数据,元数据由4个int组成,第一个int存放value的起始位置,第二个int存放key的起始位置,第三个int存放partition,第四个int存放value的长度。
key/value数据和元数据在环形缓冲区中的存储是由equator分隔的,key/value按照索引递增的方向存储,元数据则按照索引递减的方向存储,将数组抽象为一个环形结构之后,以equator为界,key/value顺时针存储,元数据逆时针存储。
在B站上看到了一个形象的视频,于是将其做成动图展示出来,感谢up主:此视频的链接是:https://www.bilibili.com/video/BV1pJ411H7m7
更多推荐
所有评论(0)