【问题标题】:Resolving "Kryo serialization failed: Buffer overflow" Spark exception解决“Kryo 序列化失败:缓冲区溢出”Spark 异常
【发布时间】:2016-06-08 18:04:07
【问题描述】:

我正在尝试运行 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-submit 时,使用 --conf "spark.kryoserializer.buffer.max=512m"

标签: apache-spark kryo


【解决方案1】:

属性名是正确的,spark.kryoserializer.buffer.max,值应该包含单位,所以你的情况是512m。

此外,取决于您在哪里设置配置,您可能需要编写--conf spark.kryoserializer.buffer.max=512m。例如,使用 spark-submit 或在 Oozie 工作流操作的 <spark-opts>...</spark-opts> 内。

【讨论】:

    【解决方案2】:

    尝试使用“spark.kryoserializer.buffer.max.mb”、“512”代替spark.kryoserializer.buffer.max”、“512MB

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 2016-07-02
      • 2015-11-04
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多