我是HBase的新手,我正在编写一个Java程序,它从HBase表中获取一些数据。 rowkeys的格式为#### - ###
,其中#表示0-9
之间的数字。我想只检索以指定模式开头的行,让我们说2345 - 。我找到了一些示例来检索一系列行(使用Scan(byte[] startRow, byte[] stopRow)
但这在我的场景中没用。
有人可以帮我吗?
答案 0 :(得分:0)
为什么你说它在你的场景中没用?
如果要检索以2345开头的行,您可以轻松地进行部分扫描,提供start&停止行键:
// the dot is greater than the hyphen, Stop Row is exclusive.
// the scan will stop when the prefix is not "2345-"
Scan scan = new Scan( "2345-".getBytes(), "2345.".getBytes() );
ResultScanner scanner = table.getScanner(scan);
for (Result result : scanner) {
// ...
}
另一种选择:
// the scan will stop when the prefix is not "2345"
Scan scan = new Scan( "2345".getBytes(), "2346".getBytes() );
ResultScanner scanner = table.getScanner(scan);
for (Result result : scanner) {
// ...
}
请提醒一下,开始时并非强制要求停止存在行,它们只是边界。