问题:
由于我的数据量太大,我设置批次为10000万,50w数据大概有400M左右,然后进行spark数据处理时候报错为org.apache.spark.SparkException:Kryo serialization failed:Buffer overFolw.Available:0,rquired 58900977,To avoid this ,increase spark.kryoserializer.buffer.max value.......
先mark一下,晚点解决
问题分析:
问题解决:
这个问题经过我的测试以及设置,解决方案很简单,只需要添加一个参数就行
Spark 的配置中增加 spark.kryoserializer.buffer.max
的值,我一开始值只有128m,太小了,调整一下
--conf spark.kryoserializer.buffer.max=512m // 设置 Kryo 序列化缓冲区最大值
或者可以在代码里面直接加上
.config("spark.kryoserializer.buffer.max", "512m")
就是这个参数,可以完美解决