在Spark中的工作节点中调用GC时

时间:2016-06-29 14:51:57

标签: apache-spark

我正在开发一个Spark应用程序,我需要在每次迭代中循环缓存RDD。在我完成每个RDD之后,我尝试unpersist它。但经过几次迭代后,我不断出现内存异常。如果在执行unpersist之后立即调用GC,一切都应该没问题,我不应该从内存异常(由于我的RDD的大小)。但是,我不确定在工作节点上调用GC的频率。有人可以为我详细说明吗?

1 个答案:

答案 0 :(得分:0)

不确定这与您的情况有关,但请注意,如果您有多次迭代,您的rdds的依赖关系图将会增长。如果是这种情况,请考虑使用checkpoints来切割谱系图并保存rdd(可能最好在每第n次迭代时执行)。