我使用的是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'或者反过来?或者重要吗?
更新:结果是,我们在服务器端有HBase 0.96,所以反向扫描显然不会起作用。我认为这解释了我的困惑。在我们升级之前,我的测试无法回答这个问题,因此我会将此问题保持开放,以防其他人感兴趣。