用kryo序列化注册类的含义

问题描述:

我不明白为kryo序列化注册类是什么意思。 给一些背景link在这里说,用kryo序列化注册类的含义

KRYO并不支持所有的序列化类型,并需要您提前注册,你将在程序中使用的类以获得最佳性能。

同样,我不明白注册一个类是什么意思?序列化代码不是静态的,因为您应用相同的逻辑序列化所有类型的对象。那么先进的将会被序列化的类会怎么帮助呢?

谢谢!

+1

我在这里给出了一个例子https://*.com/questions/32667068/save-spark-dataframe-into-elasticsearch-can -t手柄型异常 – eliasah

Kyro docs提到注册提前没有必要,但提高性能作为第一次遇到类时不需要序列化类的名称;在注册期间生成的可以用来代替,这也导致使用的字节更少。

摘录:

当KRYO写出一个对象的实例,首先它可能需要写出来的东西,识别对象的类。默认情况下,将写入完全限定的类名称,然后写入对象的字节。该对象类型在同一对象图中的后续外观使用可变长度int编写。写类名有点低效,所以类可以事先注册: