我使用的是 HBase 0.98,它允许以相反的顺序进行扫描。
这是我的代码:
scan = new Scan(eventTimeKey, nowKey);
scan.setCaching(1); // setting this to 1 since I only want the first result
scan.setMaxResultSize(1L);
scan.addColumn(dataBytes, readingBytes);
scan.setReversed(true);
try {
scanner = getTable().getScanner(scan);
result = scanner.next();
} finally {
if (scanner != null)
scanner.close();
}
if (result != null && valueIsZero(result))
return true;
我的问题是, Scan 构造函数的参数应该采用什么顺序? startKey 应该是“aaa”,endKey 应该是“zzz”还是反之亦然?或者这有关系吗?
Update:事实证明,我们在服务器端有 HBase 0.96,因此反向扫描显然不起作用。我想这解释了我的困惑。在我们升级之前,我的测试将无法回答这个问题,因此我将保留此问题,以防其他人感兴趣。
如果在 HBase 0.98 及以后的版本中进行反向扫描,则开始键和结束键会颠倒。
文档链接对此进行了解释:Doc Link https://issues.apache.org/jira/browse/HBASE-4811
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)