如何使用Scalding将Kryo反序列化为案例类?

时间:2014-12-23 03:33:33

标签: java scala hadoop kryo scalding

我知道Scalding的默认序列化使用Kryo。所以对于这个例子,假设我有一堆学生对象。

case class Student(name:String, id:String)

val pipe: Pipe[Student] = //....

然后我使用Kryo将该管道写入TextDelimited文件。

pipe.write(args("output"))

现在我有了这些"输出"文件,我如何轻松地将它们读回Student对象?我的总体想法类似于以下但它不起作用。

Tsv("Kryo output files").read.map {bytes => 
  val instantiator = (new ScalaKryoInstantiator).setRegistrationRequired(true)
  val kryo = instantiator.newKryo

  kryo.register(classOf[Person])

  val deserialized = kryo.readObject(new Input(bytes), classOf[Person])

  deserialized
}

如何将我的Kryo书面文本文件反序列化为它们最初的对象?

0 个答案:

没有答案