$王大少

导航

mapTask运行机制

1、每个切片会 启动一个mapTask去处理。

mapTask读取的文件是一个个的切片,跟我们的block块不是同一个概念
切片的目的是为了控制每一个mapTask处理的文件的大小,现在默认的这个切片的大小,就是一个block块的大小

默认的切片就是128M一个,刚好跟我们的块大小吻合

2、每个mapTask会调TextInputFormat去读这个切片内容,然后把读取到的切片内容存到mapTask里面。

3、环形缓冲区,说白了就是一个数组,这个数组的内存大小,默认是100M,写到了80M就启动一个线程把80M数据写到磁盘,里面就是用了三个指针,来指向我们的数组,记录了我们的数据往里面写的三个位置

    1.数组的起始 位置

    2.记录了数据的结束位置

    3.记录了我们写到了哪里

4、设置环形缓冲区的大小和设置溢写百分比

 

posted on 2020-03-29 14:25  $王大少  阅读(257)  评论(0编辑  收藏  举报