300多个分区的数据repartition到几十个分区后再saveAsTxtFile为什么会报GC Overhead的错误?

请问这是为啥?因为老师不是说spark进行shuffle操作时,如果数据量太大内存装不下会spill到磁盘吗?
这样的话那么repartition就会没问题吧?
repartition过后会产生一个比之前大数倍的分区,这点同样没问题。
savsaveAsTextFile的时候为什么会报GC Overhead,难道它会把整个分区的数据一次性都拉到内存然后再saveAsTextFile吗?为什么不能像result set那样的一条条遍历呢,那样再大的分区数据也不会在内存里存不下了……

Dong - Hulu

赞同来自:

很正常,两种情况下垃圾回收速度和量是不同的。  建议你调大executor内存   或者设置一下GC策略      

要回复问题请先登录注册