我想使用scala将json对象插入Hbase单元中,目前我可以使用以下代码插入值,但想知道我如何能够将整个Json对象插入Hbase单元中。
import org.apache.hadoop.hbase.util.Bytes.toBytes
val hTable:HTable = new HTable(configuration, "tablename")
val p = new Put(Bytes.toBytes("row1"))
p.add(Bytes.toBytes("info"),Bytes.toBytes("firstname)",Bytes.toBytes("Jim"))
hTable.put(p)
hTable.close()
答案 0 :(得分:2)
您可以将json对象编码为字符串。然后将此字符串编码为字节数组。然后将此字节数组放入Hbase。伪代码将如下所示:
json = createYourJson()
jsonString = json.toString
jsonBytyes = Bytes.toBytes(jsonString)
put.add(yourColumnFamily, yourQualifier, jsonBytes)
,从hbase加载值时,您必须颠倒此顺序。伪代码将如下所示:
jsonBytes = hbase.get(table, columnFamily, qualifier)
jsonString = Bytes.toString(jsonBytes)
json = Json.parse(jsonString)