来自spark配置页面的基础信息,我发现从spark 1.5切换到Netty后,在堆栈和缓存块传输过程中使用了堆外缓冲区来减少gc。所以,我的问题是,在今天的火花中,在洗牌阶段堆内空间会发生什么?
答案 0 :(得分:0)
一般情况下,Spark会在“底层”优化的混洗操作中将中间数据存储在磁盘上。如果重新计算DAG的某些部分,这些中间数据将在同一个谱系(DAG)中重复使用即使RDD没有缓存或显式持久化,也会发生这种情况。
spark.shuffle.file.buffer
每个shuffle文件输出流的内存缓冲区大小。 这些缓冲区减少了磁盘搜索次数和系统调用次数 创建中间shuffle文件。
在2.x.x版之前