商业案例:
我需要为特定的行键保留对象的数组/列表。
对于row-kwy r1的示例,将列c1的模式设置为List<Struct<String,Int>>
,将值设置为((“first”,1),(“second”,2)),将另一列c2设置为模式Array<String>
和价值(“a”,“b”,“c”)
现在我需要将此信息保存到HBase / MapR二进制表中。 我用Put as
Put put = new Put("r1".getBytes)
我列出了array<struct<String,Int>>
byte[] colValue1 =list1.toString.getBytes
put.addColumn("columnFamily".getBytes, "c1".getBytes, colValue1);
另一个List<String>
说list2=("a","b","c")
byte[] colValue2 = list2.toString().getBytes
put.addColumn("columnFamily".getBytes, "c1".getBytes, colValue1);
使用hTable.batch api我们将数据保存到hbase / mapr。
与在MapR中一样,每个属性都存储在二进制文件中,并且没有任何关于它的模式的信息,虽然我也有模式并尝试用模式读取但仍然无法从MapR获取列表/集合数据,即{{ 1}}或简单List<Struct<String,int>>
,最后它以字符串形式出现,需要与
使用scan或get它以字符串格式返回所有内容,而我们没有使用模式获取元素值。
有人可以帮我解决它。