如何在Hbase中筛选扫描结果

如何在Hbase中筛选扫描结果,hbase,nosql,Hbase,Nosql,我是HBase新手,正在编写一个Java程序,从HBase表中获取一些数据。行键的格式为######-###,其中#表示介于0-9之间的数字。我只想检索以指定模式开始的行,比如2345-。我找到了一些示例来检索一系列行(使用Scan(byte[]startRow,byte[]stopRow),但这在我的场景中并不有用 有人能帮我吗?为什么你说它在你的场景中没有用 如果要检索从2345开始的行,可以轻松执行部分扫描,提供开始和停止行键: // the dot is greater than the

我是HBase新手,正在编写一个Java程序,从HBase表中获取一些数据。行键的格式为
######-###
,其中#表示介于
0-9之间的数字。我只想检索以指定模式开始的行,比如2345-。我找到了一些示例来检索一系列行(使用
Scan(byte[]startRow,byte[]stopRow)
,但这在我的场景中并不有用


有人能帮我吗?

为什么你说它在你的场景中没有用

如果要检索从2345开始的行,可以轻松执行部分扫描,提供开始和停止行键:

// 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) {
      // ...
}
请注意,开始行和停止行的存在不是强制性的,它们只是边界