使用Kryo - Spark进行Avro对象序列化的地图

时间:2015-03-19 15:40:55

标签: serialization apache-spark avro kryo

我对kryo的特定avro序列化有疑问。很抱歉,如果这个问题看似多余,但我找不到简单的答案。

我已经将Spark配置为与Kryo一起运行并且运行良好:使用自定义KryoRegistrator类可以很好地序列化Avro生成的类。我也使用twitter.chill-avro包。

class AvroClassRegistrator extends KryoRegistrator {
  override def registerClasses(kryo: Kryo) {
    kryo.register(classOf[MyAvroClass], AvroSerializer.SpecificRecordSerializer[MyAvroClass])
}

尽管如此,当我尝试序列化Map[String, MyAvroClass]时,使序列化工作的唯一方法是使用MyAvroClass扩展java.io.Serializable

有人能解释一下我究竟发生了什么,并告诉我如何用kryo注册这个Map[..., AvroClass]

谢谢

0 个答案:

没有答案