我正在尝试运行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
。例如,使用Oozie worflow操作的spark-submit
或<spark-opts>...</spark-opts>
以内。
尝试使用“ spark.kryoserializer.buffer.max.mb
”,“ 512
”代替spark.kryoserializer.buffer.max
”,“ 512MB
”