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

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

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

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

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

    1.数组的起始 位置

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

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

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

mapTask运行机制

 

相关文章:

  • 2021-10-17
  • 2022-01-07
  • 2021-05-04
  • 2021-09-11
猜你喜欢
  • 2021-10-09
  • 2021-06-28
  • 2021-08-17
  • 2022-01-23
  • 2022-12-23
  • 2021-08-09
相关资源
相似解决方案