python - Spark 1.4 增加 maxResultSize 内存

标签 python memory apache-spark pyspark jupyter

我正在使用 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/

相关文章:

python - 在 Google Colab 上通过 ngrok 运行 flask 应用程序时,flask-ngrok 返回 "Tunnel _________.ngrok.io not found"

linux -/proc/self/maps 中的 "---p"权限是什么意思?

ios - 在事件监视器中释放更多非事件或文件缓存内存

apache-spark - 如何在 Mesosphere 集群上运行 PySpark(可能以客户端模式)?

apache-spark - 等效于或替代Jupyter的Databricks display()函数

python - 为什么我的 Spark DataFrame 比 RDD 慢很多?

python - 扩展 UserCreationForm : password not saved

Python websockets、asyncio、队列 - 自定义服务器类和具有生产者和消费者方法的处理程序类

python - 如何像在Photoshop上一样使用python调整图像颜色直方图

c - 释放了 BST 但仍然出现内存泄漏 C