如何在Hbase中读取字符串数组列

如何在Hbase中读取字符串数组列,hbase,Hbase,如何读写类型为String[]的hbase列 e、 g.要将字符串数组myArray写入hbase列,我们可以这样做: Put put = new Put("r1".getBytes) byte[] colValue1 = myArray.toString.getBytes(); put.addColumn("columnFamily".getBytes, "c1".getBytes, colValue1); 现在我怎么能读这个? 有没有更好的办法 谢谢。这种方法对于从字符串数组中获取字节

如何读写类型为
String[]
hbase

e、 g.要将字符串数组myArray写入
hbase
列,我们可以这样做:

Put put = new Put("r1".getBytes)

byte[] colValue1 = myArray.toString.getBytes();

put.addColumn("columnFamily".getBytes, "c1".getBytes, colValue1);
现在我怎么能读这个? 有没有更好的办法


谢谢。

这种方法对于从字符串数组中获取字节数组是不正确的。如果您直接使用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
  }
private def byteArrayToStringArray(byteStrings:Array[Array[Byte]])={
val data=new Array[String](byteStrings.length)
为了