Java序列化与Kryo序列化的优缺点是什么?

在spark中,java序列化是默认设置,如果kryo效率很高,那么为什么不将其设置为默认设置。使用kryo是否有一些弊端,或者在什么情况下应该使用kryo或Java序列化?

zhejun4767 回答:Java序列化与Kryo序列化的优缺点是什么?

这里是documentation的评论:

  

Kryo比Java序列化显着更快,更紧凑   (通常多达10倍),但不支持所有Seri​​alizable类型   并要求您在中注册要在该计划中使用的课程   前进以获得最佳性能。

因此默认情况下不使用它,因为:

  1. 并非开箱即用地支持每个java.io.Serializable-如果您具有扩展了Serializable的自定义类,除非已注册,否则仍无法使用Kryo进行序列化。
  2. 需要注册自定义类。

根据documentation的注释:

  

Spark自动为许多产品包括Kryo序列化器   的AllScalaRegistrar中涵盖的常用Scala核心类   Twitter chill库。

,

克里奥 优点:内存消耗低

与我在处理Google protobufs时一样,kryo不适用于我的时间。那就是我必须首先注册原型类

的时候

https://mvnrepository.com/artifact/de.javakaffee/kryo-serializers/0.45

本文链接:https://www.f2er.com/3068681.html

大家都在问