在spark shuffle阶段,堆空间会发生什么

时间:2017-04-11 09:48:02

标签: apache-spark

来自spark配置页面的基础信息,我发现从spark 1.5切换到Netty后,在堆栈和缓存块传输过程中使用了堆外缓冲区来减少gc。所以,我的问题是,在今天的火花中,在洗牌阶段堆内空间会发生什么?

1 个答案:

答案 0 :(得分:0)

一般情况下,Spark会在“底层”优化的混洗操作中将中间数据存储在磁盘上。如果重新计算DAG的某些部分,这些中间数据将在同一个谱系(DAG)中重复使用即使RDD没有缓存或显式持久化,也会发生这种情况。

spark.shuffle.file.buffer

  

每个shuffle文件输出流的内存缓冲区大小。   这些缓冲区减少了磁盘搜索次数和系统调用次数   创建中间shuffle文件。

more config info

在2.x.x版之前

For version 1.x.x