您当前的位置: 首页 >  ar

段智华

暂无认证

  • 0浏览

    0关注

    1232博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第34课:彻底解密Spark 2.1.X中Shuffle 中SortShuffleWriter排序源码内幕解密

段智华 发布时间:2017-05-11 07:26:17 ,浏览量:0

第34课:彻底解密Spark 2.1.X中Shuffle 中SortShuffleWriter排序源码内幕解密

本文根据家林大神系列课程编写 http://weibo.com/ilovepains

Spark Shuffle一个至关重要的内容,我们的SortShuffle内部到底怎么排序的?这里的排序是从整个框架的角度讲,SortShuffle在不考虑业务排序的情况下是怎么进行排序的?SortShuffle最原始的排序是按照Partition进行排序的。

         SortShuffle的排序我们主要是看它的Write方法,因为只有进行输出的时候才涉及到排序。涉及排序中非常关键的一行代码。

1.          val partitionLengths =sorter.writePartitionedFile(blockId, tmp)  

 

        writePartitionedFile的基本工作机制是ExternalSorter在进行排序的时候可能一部分数据在内存中,一部分数据在磁盘上,在磁盘上的数据可能是一个,也可能是若干个,假设磁盘上有很多小文件,那会将小文件Merge成一个大的文件。

1,数组lengths:跟踪输出文件中每个范围的位置

2,通过blockManager获得一个writer,blockManager管理了内存和磁盘的读写。

3,进行判断s

关注
打赏
1659361485
查看更多评论
立即登录/注册

微信扫码登录

0.0575s