Как сохранить и получить список [String] List [(String, Int)] в таблицу mapr / hbase, используя put и get - PullRequest
0 голосов
/ 25 апреля 2018

Бизнес-кейс:

Мне нужно сохранить массив / список объектов для определенного ключа строки.Например, для строки-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>, наконец, он становится строкой, и мне нужно поиграть с

при сканировании или получить еговозвращая все в строковом формате, и мы не получаем значение элемента со схемой.

может кто-нибудь помочь мне в его разрешении.

...