在scan.setCaching(cacheRow)中设置heigher值时,Hbase扫描未返回所有行

在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=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


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);