2016-05-29 167 views
0

我重構我的代碼以使用kryo序列化。 一切工作正常,除了從某些類反序列化geomtry的屬性。 不會引發異常(我將「spark.kryo.registrationRequired」設置爲true)。 在調試時,我嘗試收集數據,我發現geomtry中的數據只是空的。結果我明白反序列化失敗了。 幾何是從任何類型的任何(斯卡拉),因爲它可能是一個複雜的屬性。 我的問題是爲什麼數據是空的,是否有連接到屬性類型'任何'。Kryo序列化empy反序列化

更新:

類代碼:類實體(VAL ID:字符串)延伸序列化{

VAR指數:任何= NULL

VAR幾何:任何= NULL

}

幾何包含centeroid,shap e和座標(複雜對象)

+2

如果您希望我們提供幫助,您需要提供您的問題的[MCVE]。單詞很棒,但我們需要真正看到代碼中發生了什麼以幫助。 –

+0

我添加了一些代碼 –

回答

0

您不應該在Scala中使用Kryo,因爲許多Scala類的行爲不同於Java類,並且Kryo最初編寫爲與Java一起工作。如果你在Scala中使用Kryo,你可能會遇到很多奇怪的問題。你應該使用chill-scala這是Kryo的擴展,它處理所有Scala的特例。