org.apache.spark.SparkException:Kryo序列化失败:缓冲区溢出 - 用java引发

时间:2016-06-08 18:04:08

标签: apache-spark

当我试图运行spark(java)代码时,我得到了一个错误 “ org.apache.spark.SparkException:Kryo序列化失败:缓冲区溢出。可用:0,必需:27”。 在他们提到的许多帖子中,比如将缓冲区设置为最大值。当我尝试这个最大缓冲区值为512MB的时候,我现在得到的错误就像“ java.lang.ClassNotFoundException:org.apache.spark.serializer.KryoSerializer.buffer.max','512' “。 所以请在这方面帮助我。我可以解决问题

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

尝试使用“spark.kryoserializer.buffer.max.mb”,“512”代替 spark.kryoserializer.buffer.max “,” 512MB “< / p>