我需要使用 spark help page 中提到的 registerKryoClasses 方法启动带有自定义类的 spark shell .
现在如页面中所述,我无法在启动 spark shell 后重新创建 sc 变量,因此需要在启动 spark-shell 命令时提供选项 --conf。
--conf 的选项值应该是什么,以便它等同于以下更新:
conf.registerKryoClasses(Array(classOf[ArrayBuffer[String]], classOf[ListBuffer[String]]))
最佳答案
使用 Javaserializer 而不是 Kryos 序列化器的选项对我有用:
spark-shell --conf 'spark.serializer=org.apache.spark.serializer.JavaSerializer'
编辑:刚刚弄清楚如何使用这些选项。我们可以做到以下几点:
--conf 'spark.kryo.classesToRegister=scala.collection.mutable.ArrayBuffer,scala.collection.mutable.ListBuffer'
关于hadoop - Kryos/Java 序列化程序的 Spark-shell --conf 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44391837/