问题描述:创建 spark时设置config("spark.serializer","org.apache.spark.serializer.JavaSerializer"),spark读取hbase没有任何问题。由于业务问题,必须设置为JavaSerilizer,这时候就会提示ERROR “had a not serializable result: org.apache.hbase.client.Result"
望大神指教
代码大致如下
val hbaseConf = connection.getConfiguration
hbaseConf.set(TableInputFormat.INPUT_TABLE, tableName)
sc.newAPIHadoopRDD(hbaseConf, classOf[TableInputFormat],
classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
classOf[org.apache.hadoop.hbase.client.Result]).map{case (_,result) =>{val objectkey = Bytes.toString(result.getValue("objects".getBytes, "object_key".getBytes))
***}}
补充内容 (2018-1-12 15:13):
不好意思
使用KryoSerilizer是正常的,但使用JavaSerilizer就提示序列化问题,由于业务场景问题,必须使用JavaSerilizer。 |