gpt4 book ai didi

dataframe - Pyspark:序列化任务超过允许的最大值。考虑增加 spark.rpc.message.maxSize 或对大值使用广播变量

转载 作者:行者123 更新时间:2023-12-03 14:36:43 30 4
gpt4 key购买 nike

我正在集群上进行计算,最后当我使用 df.describe().show() 询问我的 Spark 数据帧的摘要统计信息时,我收到一个错误:
序列化任务 15:0 为 137500581 字节,超过了最大允许值:spark.rpc.message.maxSize(134217728 字节)。考虑增加 spark.rpc.message.maxSize 或对大值使用广播变量
在我的 Spark 配置中,我已经尝试增加上述参数:

spark = (SparkSession
.builder
.appName("TV segmentation - dataprep for scoring")
.config("spark.executor.memory", "25G")
.config("spark.driver.memory", "40G")
.config("spark.dynamicAllocation.enabled", "true")
.config("spark.dynamicAllocation.maxExecutors", "12")
.config("spark.driver.maxResultSize", "3g")
.config("spark.kryoserializer.buffer.max.mb", "2047mb")
.config("spark.rpc.message.maxSize", "1000mb")
.getOrCreate())
我还尝试使用以下方法重新分区我的数据框:
dfscoring=dfscoring.repartition(100)
但我仍然不断收到同样的错误。
我的环境:Python 3.5、Anaconda 5.0、Spark 2
我怎样才能避免这个错误?

最佳答案

我遇到了同样的问题,然后我解决了它。
原因是 spark.rpc.message.maxSize如果默认设置 128M ,您可以在启动 spark 客户端时更改它,我在 pyspark 中工作并将值设置为 1024,所以我这样写:

pyspark --master yarn --conf spark.rpc.message.maxSize=1024

解决它。

关于dataframe - Pyspark:序列化任务超过允许的最大值。考虑增加 spark.rpc.message.maxSize 或对大值使用广播变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54458815/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com