apache-spark - 解决 "Kryo serialization failed: Buffer overflow"Spark 异常

标签 apache-spark kryo

我正在尝试运行 Spark (Java) 代码并收到错误

org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow. Available: 0, required: 27".

其他帖子建议将缓冲区设置为其最大值。当我以 512MB 的最大缓冲区值尝试此操作时,出现错误
java.lang.ClassNotFoundException: org.apache.spark.serializer.KryoSerializer.buffer.max', '512'

我怎么解决这个问题?

最佳答案

属性名称正确,spark.kryoserializer.buffer.max ,该值应包括单位,因此在您的情况下为 512m。

此外,取决于您在哪里设置配置,您可能必须编写 --conf spark.kryoserializer.buffer.max=512m .例如,使用 spark-submit或在 <spark-opts>...</spark-opts> 内一个 Oozie worflow Action 。

关于apache-spark - 解决 "Kryo serialization failed: Buffer overflow"Spark 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37709770/

相关文章:

arrays - 从Spark Scala的DataFrame列中的数组添加文件名

json - Spark + Json4s 序列化问题

apache-spark - 如何在 Spark 3.0+ 中获取星期几?

java - 具有全局序列化器 (Kryo) 的 Hazelcast - 没有适合类型的反序列化器

java - 如何使用 Kryo 将非常大的 Java 对象保存到 Oracle 中的 Blob 中并避免 KryoException 缓冲区溢出?

apache-spark - 如何在Spark2.4中读取spark2-shell中的Avro文件?

apache-spark - 如何在没有 Spark Rest API 的情况下监听 Spark 中的作业进度

java - 在 Spark 中配置函数/lambda 序列化

java - 如何使用 Kryo 序列化对象并再次反序列化?

java - 缺少无参数构造函数的 KryoException