Apache spark java序列化与kryo序列化的优缺点是什么?
在spark中,java序列化是默认的,如果kryo那么高效,那么为什么不将其设置为默认值呢。使用kryo是否存在一些缺点,或者在什么情况下我们应该使用kryo或java序列化?下面是以下作者的评论: Kryo比Java序列化要快得多、紧凑得多 (通常高达10倍),但不支持所有可序列化类型 并要求您注册将在中的程序中使用的类 为获得最佳性能而前进 因此,默认情况下不使用它,因为:Apache spark java序列化与kryo序列化的优缺点是什么?,apache-spark,serialization,kryo,Apache Spark,Serialization,Kryo,在spark中,java序列化是默认的,如果kryo那么高效,那么为什么不将其设置为默认值呢。使用kryo是否存在一些缺点,或者在什么情况下我们应该使用kryo或java序列化?下面是以下作者的评论: Kryo比Java序列化要快得多、紧凑得多 (通常高达10倍),但不支持所有可序列化类型 并要求您注册将在中的程序中使用的类 为获得最佳性能而前进 因此,默认情况下不使用它,因为: 并非所有java.io.Serializable都支持开箱即用-如果您有扩展Serializable的自定义类,则除
java.io.Serializable
都支持开箱即用-如果您有扩展Serializable
的自定义类,则除非注册,否则仍无法使用Kryo对其进行序列化并非所有serializable都受支持-不理解这部分@Vladislav Varslavans(你能举个例子吗),不注册该类不使其序列化我已经更新了答案。希望它能带来澄清。注册一个类是一种开销吗?我的意思是,只要我在记忆力和时间上有所提高,我注册10门课就没有问题。还是我误解了什么?我不认为这是一种开销。至少文档中没有提到这方面的内容。