我正在研究 hbase 表分页。我需要实现的功能是,UI 分页表应该具有下一个/前进和后退/后退功能。
我使用 PageFilter 实现了前进选项,但对于后退,我需要将行(20)从结束键获取到最近并向后移动。例如。向后获取所有记录 1000 - 980。
我在 hbase 源代码中找不到任何满足我要求的东西。知道我们如何实现它吗???
PS:我的row key是多个字段和数据大小TB的组合键。
我正在研究 hbase 表分页。我需要实现的功能是,UI 分页表应该具有下一个/前进和后退/后退功能。
我使用 PageFilter 实现了前进选项,但对于后退,我需要将行(20)从结束键获取到最近并向后移动。例如。向后获取所有记录 1000 - 980。
我在 hbase 源代码中找不到任何满足我要求的东西。知道我们如何实现它吗???
PS:我的row key是多个字段和数据大小TB的组合键。
在 hbase .98 中,有一个反向扫描的新选项,代码如此简单
scan.setReversed(true);
您可以在 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 seconds