我正在做hbase表格分页。我需要实现的功能是,UI分页表应该具有next/forward和back/back功能。
使用PageFilter实现的前向选项,但是对于向后,我需要从end键获取行(20)到最近的行(20)并向后移动。例如:向后获取所有记录1000 - 980。
我在hbase源代码中找不到满足我需求的任何东西。你知道我们怎样才能实现它吗??
PS:我的行键是TB中多个字段和数据大小的复合键。
发布于 2014-08-14 20:20:57
在hbase .98中,有一个新的选项可以用简单的代码进行反向扫描。
scan.setReversed(true);发布于 2017-09-08 15:46:20
您可以按hbase表反向顺序从命令行迭代值,并且可以对反向顺序行使用筛选器。
例子:-
hbase(main):030:0> scan 'test_use'
ROW COLUMN+CELL
1 column=usage:ACP, timestamp=1495474486145, value=3400
1 column=usage:UseTime, timestamp=1495474486145, value=2009-05-16 17:37:13.427
1 column=usage:VisualID, timestamp=1495474486145, value=1
2 column=usage:ACP, timestamp=1495474881861, value=3400
2 column=usage:UseTime, timestamp=1495474881861, value=2009-05-16 17:37:13.427
2 column=usage:VisualID, timestamp=1495474881861, value=2
3 column=usage:ACP, timestamp=1504022698257, value=3.1
4 column=usage:ACP, timestamp=1504022785705, value=4.1
4 row(s) in 0.0930 seconds
hbase(main):031:0> scan 'test_use',{REVERSED=>true}
ROW COLUMN+CELL
4 column=usage:ACP, timestamp=1504022785705, value=4.1
3 column=usage:ACP, timestamp=1504022698257, value=3.1
2 column=usage:ACP, timestamp=1495474881861, value=3400
2 column=usage:UseTime, timestamp=1495474881861, value=2009-05-16 17:37:13.427
2 column=usage:VisualID, timestamp=1495474881861, value=2
1 column=usage:ACP, timestamp=1495474486145, value=3400
1 column=usage:UseTime, timestamp=1495474486145, value=2009-05-16 17:37:13.427
1 column=usage:VisualID, timestamp=1495474486145, value=1
4 row(s) in 0.0500 seconds
hbase(main):032:0> scan 'test_use',{REVERSED=>true,STARTROW=>"1"}
ROW COLUMN+CELL
1 column=usage:ACP, timestamp=1495474486145, value=3400
1 column=usage:UseTime, timestamp=1495474486145, value=2009-05-16 17:37:13.427
1 column=usage:VisualID, timestamp=1495474486145, value=1
1 row(s) in 0.0270 secondshttps://stackoverflow.com/questions/25307543
复制相似问题