为什么会出现两种不同的结果,而在两种相同的方式在HBase的扫描

问题描述 投票:0回答:1

我有两种方式扫描HBase的表通过Java程序。 之一,从DF-E0,和从{DF-DF4,DF4-DF8,DF8-DFC,DFC-E0}其他。这些结果都应该是一样的,但我在以前的方式(DF-E0)获得额外的行。另外,我得到两个通道中的多个版本(相同keyrow,但不同的时间戳)。

我有开始和结束的行参数扫描的HBase的代码下面给出:

int count = 0;
scan = new Scan(Bytes.toBytes(start), Bytes.toBytes(end));
scanner = keywordHBaseConnection.getKeywordMetaDataTable().getScanner(scan);
for (Result result = scanner.next(); result != null; result = scanner.next()) {
    count++;
}

我与{开始结束} = {DF-E0}试了一下。而在其他的方式,我用{开始结束} = {DF-DF4,DF4,DF8,DF8-DFC,DFC-E0},这是前一个的子集,试了一下。其输出应该是完全一样的,但事实并非如此。有结果中的两个问题 - 1.在前者的方式,也有更多的结果行。 2.存在重复rowkeys(多个版本,我认为)的两种方式。 (这不应该是这样的BCZ构造扫描()已经将最大的版本限制为一个)。

java hbase
1个回答
0
投票

尝试迫使特定的版本,如:

scan.setMaxVersions(1);

这仍然是可行的版本1.2.x的,或者你可以尝试使用:

scan.readVersions(1); 

对于2.X客户端

© www.soinside.com 2019 - 2024. All rights reserved.