【大数据进击】如何设置spark.kryoserializer.buffer.max value

如何设置spark.kryoserializer.buffer.max value

在运行Spark计算任务时,出现了Buffer Overflow错误,Kryo序列化在序列化对象时缓存爆了。
反复设置了几次,终于发现了自己的错误,分享出来,希望大家能避坑。

  1. 设置Kryo为序列化类
//设置Kryo为序列化类(默认为Java序列类)
sparkConf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
  1. 提高spark.kryoserializer.buffer.max值
//两种设置方法
sparkConf.set("spark.kryoserializer.buffer.max", "128m")
sparkConf.set("spark.kryoserializer.buffer.max.mb", "128")
  1. 检查是否成功设置Kryo参数
//打印日志,检查是否成功设置
println( sparkConf.get("spark.kryoserializer.buffer.max") )

你可能感兴趣的:(大数据,Spark)