美文网首页
Spark shuffle优化

Spark shuffle优化

作者: clive0x | 来源:发表于2019-07-26 23:52 被阅读0次

ExternalSorter.scala 

AppendOnlyMap:k1,v1|k2,v2|k3,v3.....|kn,vn

当内存不足(向executor申请memory不足)时,开始spill,

依次分partition分批次写,每spark.shuffle.spill.batchSize:10000写一次文件,另外一个可调整参数:

spark.shuffle.file.buffer:32k,

BlockStoreShuffleReader.scala

spark.reducer.maxSizeInFlight:48M,单shuffle任务最多同时远程读取48M

spark.reducer.maxReqsInFlight:Int.MaxValue

spark.reducer.maxBlocksInFlightPerAddress:Int.MaxValue

spark.maxRemoteBlockSizeFetchToMem:Int.MaxValue - 512

特别说明下最后一个参数,当blocksize比该参数大时,block读取至文件而非内存。

Spark不管是数据还是shuffle,首先都用内存,可以预见,随着企业级SSD的快速普及,框架淘汰可能性还是很高的。

相关文章

网友评论

      本文标题:Spark shuffle优化

      本文链接:https://www.haomeiwen.com/subject/ignjrctx.html