MapReduce,环形缓冲区
默认达到80%会溢出,溢出时这80%内存会锁定吗,
如果不锁定,那么剩余的20%的内存有什么用,以及为什么要反向溢出(锁住是对不是本次数据的锁住)
map处理完成相关的逻辑操作之后,首先通过outputCollector向环形缓冲区写入数据,环形缓冲区主要两部分,一部分写入文件的元数据信息,另一部分写入文件的真实内容
环形缓冲区的默认大小是100M,当缓冲的容量达到默认大小的80%时,进行反向溢写
在溢写之前会将缓冲区的数据按照指定的分区规则进行分区和排序,之所以反向溢写是因为这样就可以边接收数据边往磁盘溢写数据
网友评论