如何设置spark.kryoserializer.buffer.max value
在运行Spark计算任务时,出现了Buffer Overflow错误,Kryo序列化在序列化对象时缓存爆了。
反复设置了几次,终于发现了自己的错误,分享出来,希望大家能避坑。
- 设置Kryo为序列化类
//设置Kryo为序列化类(默认为Java序列类)
sparkConf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
- 提高spark.kryoserializer.buffer.max值
//两种设置方法
sparkConf.set("spark.kryoserializer.buffer.max", "128m")
sparkConf.set("spark.kryoserializer.buffer.max.mb", "128")
- 检查是否成功设置Kryo参数
//打印日志,检查是否成功设置
println( sparkConf.get("spark.kryoserializer.buffer.max") )
如果喜欢这篇文章的话可以帮忙点个赞吗?这对我真的很重要!!
网友评论