在scan.setCaching(cacheRow)中设置heigher值时,Hbase扫描未返回所有行
当我在cacheRows=100或10000的情况下运行上述代码时,它会打印出来 总行数=480000 当我在cacheRows=100000的情况下运行上述代码时,它会打印出来 总行数=10090 cacheRows=10083打印480000 cacheRows=10084打印191595 cacheRows=10085打印20169 cacheRows=10086打印20170 cacheRows=10087打印20171 cacheRows=10088打印20172 cacheRows=10089打印20173 cacheRows=10090打印20174在scan.setCaching(cacheRow)中设置heigher值时,Hbase扫描未返回所有行,hbase,Hbase,当我在cacheRows=100或10000的情况下运行上述代码时,它会打印出来 总行数=480000 当我在cacheRows=100000的情况下运行上述代码时,它会打印出来 总行数=10090 cacheRows=10083打印480000 cacheRows=10084打印191595 cacheRows=10085打印20169 cacheRows=10086打印20170 cacheRows=10087打印20171 cacheRows=10088打印20172 cacheRows=
cacheRows>=10091打印10090通过在hbase-site.xml中设置相同的hbase.server.scanner.max.result.size和hbase.client.scanner.max.result.size,或者通过在扫描对象中设置setMaxResultSize值等于100000(缓存行参数)行的大小(在我的情况下为20971520(20MB))
有关更多详细信息,请参见错误:
Scan s = new Scan();
s.addFamily(Bytes.toBytes("cf1"));
s.setCaching(cacheRows);
s.setCacheBlocks(false);
s.setStartRow("30.0.2.2\01441756800\0");
s.setStopRow("30.0.2.3\01441756800\0");
ResultScanner scanner = table.getScanner(s);
long rows = 0;
try {
for (Result rr = scanner.next(); rr != null; rr = scanner.next()) {
rows++;
}
} finally {
scanner.close();
}
System.out.println("Total no of rows = " + rows);