如何读写hbase
类型的String[]
列?
例如要将字符串数组myArray写入hbase
列,我们可以这样做:
Put put = new Put("r1".getBytes)
byte[] colValue1 = myArray.toString.getBytes();
put.addColumn("columnFamily".getBytes, "c1".getBytes, colValue1);
现在我该怎么读? 有更好的方法吗?
谢谢。
答案 0 :(得分:0)
这种方式不适用于从字符串数组获取字节数组。如果直接使用toString,则在获取它时将无法获取字符串数组。您可以使用这些方法将数组字符串化为字节数组,并将字节数组字符串化为字符串数组。
private def byteArrayToStringArray(byteStrings: Array[Array[Byte]]) = {
val data = new Array[String](byteStrings.length)
for(i <- 0.to(byteStrings.length)) {
data(i) = new String(byteStrings(i), Charset.defaultCharset)
}
data
}
private def stringArrayToByteArray(strings: Array[String]) = {
val data = new Array[Array[Byte]](strings.length)
for (i <- 0.to(strings.length)) {
val string = strings(i)
data(i) = string.getBytes(Charset.defaultCharset)
}
data
}