0

当我每 2 次运行相同的 spark 程序时,我就面临这个java.lang.OutOfMemoryError: Java Heap Space问题。

这是一个场景:

当我spark-submit第一次执行并运行 spark 程序时,它给了我正确的输出并且一切都很好。当我再次执行相同的spark-submit操作时,它会引发java.lang.OutOfMemoryError: Java Heap Space异常。

什么时候再次起作用?

如果我在spark-submit通过执行清除 linux 缓存后运行相同的操作 -/proc/sys/vm/drop_caches它再次成功运行一次。

我尝试设置所有可能的 spark 配置,例如 memoryOverhead、drive-memory、executor-memory 等。

知道这里发生了什么吗?这真的是 spark 代码的问题,还是由于某些 linux 机器设置或集群配置方式而发生的?

谢谢。

4

1 回答 1

0

在使用df.persist()or df.cache()then 的情况下,您也应该使用df.unpersist()方法,并且还有sqlContext.clearCache()清除所有内容的方法。

于 2020-06-18T04:49:21.263 回答