我正在使用 Spark 1.4 进行研究,并在内存设置方面遇到了困难。我的机器有 16GB 的内存,所以没有问题,因为我的文件大小只有 300MB。虽然,当我尝试使用 toPandas()
函数将 Spark RDD 转换为 panda 数据帧时,我收到以下错误:
serialized results of 9 tasks (1096.9 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)
我尝试通过更改 spark-config 文件来解决此问题,但仍然遇到相同的错误。我听说这是 spark 1.4 的问题,想知道你是否知道如何解决这个问题。非常感谢任何帮助。
最佳答案
您可以在 SparkConf
对象中设置 spark.driver.maxResultSize
参数:
from pyspark import SparkConf, SparkContext
# In Jupyter you have to stop the current context first
sc.stop()
# Create new config
conf = (SparkConf()
.set("spark.driver.maxResultSize", "2g"))
# Create new context
sc = SparkContext(conf=conf)
您可能还应该创建一个新的 SQLContext
:
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
关于python - Spark 1.4 增加 maxResultSize 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31058504/