2016-05-29 172 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的特例。