Я хочу сделать сканирование таблицы hbase на 10 версий.Но результат дает мне данные в последнем и старом порядке.Я хочу получить это в обратном порядке.Есть ли способ сделать это?
Пример:
Если я помещаю данные в таблицу 'test' в следующем порядке:
put 'test','1','data:a','v0'
put 'test','1','data:a','v1'
put 'test','1','data:a','v2'
Сканирование 3 версий дает мне следующий порядок:
scan 'test',{VERSIONS=>3}
ROW COLUMN+CELL
1 column=data:a, timestamp=1537869886607, value=v2
1 column=data:a, timestamp=1537869884212, value=v1
1 column=data:a, timestamp=1537869881996, value=v0
Я хочу получить результат в обратном порядке.
Мой полный вариант использования - сканирование и сдача, поэтому, если я получу результат в порядке от последнего к самому старому, я будупишу в обратном порядке, когда я поставлю.
Код здесь:
Scan scan = new Scan();
scan.setCacheBlocks(false);
scan.setCaching(10000);
scan.setMaxVersions(10);
ResultScanner scanner = tableGet.getScanner(scan);
for (Result result = scanner.next(); result != null; result = scanner.next()) {
String row = new String(result.getRow());
Put put = new Put(Bytes.toBytes(row));
String key = "KEY" + ";" + row;
for (Cell cell : result.rawCells()) {
String family = Bytes.toString(CellUtil.cloneFamily(cell));
String column = Bytes.toString(CellUtil.cloneQualifier(cell));
byte[] value = CellUtil.cloneValue(cell);
put.addColumn(family.getBytes(), column.getBytes(), value);
}
tablePut.put(put);
}