2017-06-19 46 views
0

我不明白爲kryo序列化註冊類是什麼意思。 給一些背景link在這裏說,用kryo序列化註冊類的含義

KRYO並不支持所有的序列化類型,並需要您提前註冊,你將在程序中使用的類以獲得最佳性能。

同樣,我不明白註冊一個類是什麼意思?序列化代碼不是靜態的,因爲您應用相同的邏輯序列化所有類型的對象。那麼先進的將會被序列化的類會怎麼幫助呢?

謝謝!

+1

我在這裏給出了一個例子https://stackoverflow.com/questions/32667068/save-spark-dataframe-into-elasticsearch-can -t手柄型異常 – eliasah

回答

0

Kyro docs提到註冊提前沒有必要,但提高性能作爲第一次遇到類時不需要序列化類的名稱;在註冊期間生成的可以用來代替,這也導致使用的字節更少。

摘錄:

當KRYO寫出一個對象的實例,首先它可能需要寫出來的東西,識別對象的類。默認情況下,將寫入完全限定的類名稱,然後寫入對象的字節。該對象類型在同一對象圖中的後續外觀使用可變長度int編寫。寫類名有點低效,所以類可以事先註冊: