一 序列化

1.闭包检测

image.png

总结

  • 闭包:函数中使用到了外部的变量
  • 调用算子方法时,会进行闭包检测 是否能够序列化
  • 因为需要进行网络IO

image.png

2.Kryo序列化

Java提供的序列化比较笨重

image.png

  1. val conf: SparkConf = new SparkConf()
  2. .setAppName("SerDemo")
  3. .setMaster("local[*]")
  4. // 替换默认的序列化机制
  5. .set("spark.serializer",
  6. "org.apache.spark.serializer.KryoSerializer")
  7. // 注册需要使用 kryo 序列化的自定义类
  8. .registerKryoClasses(Array(classOf[Searcher]))