Бизнес-кейс:
Мне нужно сохранить массив / список объектов для определенного ключа строки.Например, для строки-kwy r1, столбец c1 со схемой List<Struct<String,Int>>
и значением ((«first», 1), («second», 2)) и другой столбец c2 со схемой Array<String>
и значением (»a "," b "," c ")
Теперь мне нужно сохранить эту информацию в двоичной таблице HBase / MapR.Я использовал Put как
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>
, наконец, он становится строкой, и мне нужно поиграть с
при сканировании или получить еговозвращая все в строковом формате, и мы не получаем значение элемента со схемой.
может кто-нибудь помочь мне в его разрешении.