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