You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决org.apache.spark.SparkException:Kryo序列化缓冲区溢出问题?

解决PySpark读取Parquet时的Kryo序列化缓冲区溢出错误

这个错误是因为Kryo序列化所需的缓冲区空间超过了当前配置的最大值。错误信息里明确显示需要约57.6MB的缓冲区,但当前可用空间为0,所以必须调整spark.kryoserializer.buffer.max参数来扩大缓冲区上限。

具体解决步骤:

  • 在Spark初始化的配置参数中添加spark.kryoserializer.buffer.max,设置一个能覆盖所需空间的值(比如64MB,可根据实际情况调整)。

修改后的代码如下:

spark = spark(options={'spark.yarn.queue':'shared_adhoc_mid',
                       'spark.sql.autoBroadcastJoinThreshold': -1,
                       'spark.kryoserializer.buffer.max': '64m'})
df=spark.read.parquet('path')

补充说明:

如果设置64MB后仍出现相同错误,可以逐步增大该值(比如128m、256m),直到问题解决。参数支持的单位包括b(字节)、k(千字节)、m(兆字节)、g(吉字节),用m或g会更直观。

内容的提问来源于stack exchange,提问作者JG1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 03:52:06