mapTask运行机制
1、每个切片会 启动一个mapTask去处理。
mapTask读取的文件是一个个的切片,跟我们的block块不是同一个概念
切片的目的是为了控制每一个mapTask处理的文件的大小,现在默认的这个切片的大小,就是一个block块的大小
默认的切片就是128M一个,刚好跟我们的块大小吻合
2、每个mapTask会调TextInputFormat去读这个切片内容,然后把读取到的切片内容存到mapTask里面。
3、环形缓冲区,说白了就是一个数组,这个数组的内存大小,默认是100M,写到了80M就启动一个线程把80M数据写到磁盘,里面就是用了三个指针,来指向我们的数组,记录了我们的数据往里面写的三个位置
1.数组的起始 位置
2.记录了数据的结束位置
3.记录了我们写到了哪里
4、设置环形缓冲区的大小和设置溢写百分比