将Json作为Json-Scala插入Hbase

将Json作为Json-Scala插入Hbase,json,scala,apache-spark,hbase,Json,Scala,Apache Spark,Hbase,我想使用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.

我想使用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()

可以将json对象编码为字符串。然后将该字符串编码为字节数组。然后将此字节数组放入Hbase中。伪代码如下所示:

json = createYourJson()
jsonString = json.toString
jsonBytyes = Bytes.toBytes(jsonString)
put.add(yourColumnFamily, yourQualifier, jsonBytes)
jsonBytes = hbase.get(table, columnFamily, qualifier)
jsonString = Bytes.toString(jsonBytes)
json = Json.parse(jsonString)
从hbase加载值时,必须颠倒此顺序。伪代码如下所示:

json = createYourJson()
jsonString = json.toString
jsonBytyes = Bytes.toBytes(jsonString)
put.add(yourColumnFamily, yourQualifier, jsonBytes)
jsonBytes = hbase.get(table, columnFamily, qualifier)
jsonString = Bytes.toString(jsonBytes)
json = Json.parse(jsonString)

可以将json对象编码为字符串。然后将该字符串编码为字节数组。然后将此字节数组放入Hbase中。伪代码如下所示:

json = createYourJson()
jsonString = json.toString
jsonBytyes = Bytes.toBytes(jsonString)
put.add(yourColumnFamily, yourQualifier, jsonBytes)
jsonBytes = hbase.get(table, columnFamily, qualifier)
jsonString = Bytes.toString(jsonBytes)
json = Json.parse(jsonString)
从hbase加载值时,必须颠倒此顺序。伪代码如下所示:

json = createYourJson()
jsonString = json.toString
jsonBytyes = Bytes.toBytes(jsonString)
put.add(yourColumnFamily, yourQualifier, jsonBytes)
jsonBytes = hbase.get(table, columnFamily, qualifier)
jsonString = Bytes.toString(jsonBytes)
json = Json.parse(jsonString)

我收到一个重载方法错误,因为无法应用于(数组[Byte]),下面是代码p.add(Bytes.toBytes(“columnfamily”)、Bytes.toBytes(“qualifier”)、Bytes.toBytes(“jsonBytes”))hTable.put(m)是的,您应该添加列族和限定符。我编辑了我的答案。是的,尝试如下m.add(字节,toBytes(“columnfamily”),Bytes.toBytes(“限定符”),Bytes.toBytes(jsonBytes))-相同的问题字节,toBytes(“columnfamily”)这是逗号?对不起,键盘问题。这把它修好了。我现在可以插入,但它不是作为json格式插入的?我收到一个重载方法错误,因为无法应用于(数组[Byte]),下面是代码p.add(Bytes.toBytes(“columnfamily”)、Bytes.toBytes(“qualifier”)、Bytes.toBytes(“jsonBytes”))hTable.put(m)是的,您应该添加列族和限定符。我编辑了我的答案。是的,尝试如下m.add(字节,toBytes(“columnfamily”),Bytes.toBytes(“限定符”),Bytes.toBytes(jsonBytes))-相同的问题字节,toBytes(“columnfamily”)这是逗号?对不起,键盘问题。这把它修好了。我现在可以插入,但它不是作为json格式插入的?