我对PySpark相对较新。因为需要在其上执行聚类,所以我一直在尝试缓存30GB的数据。但是在执行像count
这样的操作时,我最初遇到了一些堆空间问题
。于是我搜索了一下并发现增加执行程序/驱动器内存可以解决这个问题。因此,以下是我的当前配置:
SparkConf().set('spark.executor.memory', '45G')
.set('spark.driver.memory', '80G')
.set('spark.driver.maxResultSize', '10G')
但现在我遇到了垃圾收集问题。我查看了stackoverflow,但是答案都非常模糊。人们建议调整配置。有没有更好的方法来确定应该配置什么?我知道这只是一个调试异常,我可以关闭它。但我仍然想学习一些数学知识,以便自己计算配置。
我目前在拥有256GB RAM的服务器上。感谢您的帮助。提前致谢。