商业案例:
我需要为特定的行键保存对象的数组/列表。以kwyr1行为例,列c1的模式为 List<Struct<String,Int>>
值为((“first”,1)、(“second”,2))和另一列c2以及schema Array<String>
和价值(“a”、“b”、“c”)
现在我需要将这些信息保存到hbase/mapr二进制表中。我以前把它当作
Put put = new Put("r1".getBytes)
我有一个“list1”类型的 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中获取列表/集合数据,即。 List<Struct<String,int>>
还是简单 List<String>
,最后它来作为字符串和需要做的发挥
在scan或get中,它以字符串格式返回所有内容,而在schema中我们没有得到元素值。
有人能帮我解决这个问题吗。
暂无答案!
目前还没有任何答案,快来回答吧!