scala调用java的序列化api报错

clipboard.png

报错如下
Exception in thread "main" java.lang.IllegalStateException: Reading from a byte array threw an IOException (should never happen).

at com.yixue.xdatam.ConvertUtil.unserialize(ConvertUtil.java:226)

有点想不通的是,其他之前写的javaAPI拿到scala下都可以用,为什么序列化api java上没问题,scala就有问题了呢?

阅读 3.8k
1 个回答

我在做Kafka和sparkstreaming中也遇到过序列化问题。
你用我这种写法看看有没有问题。使用RunTimeSchema 获取schema
def executeByScan(rdd: RDD[(Array[Byte], Array[Byte])], path: String): Unit = {

val resultRdd = rdd.map(row => {
  val result: KafkaMessage = new KafkaMessage
    ProtostuffIOUtil.mergeFrom(row._2, result, RuntimeSchema.getSchema(classOf[KafkaMessage]))
  。。。。。。。

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题