gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 00:48:41 24 4
gpt4 key购买 nike

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

当我使用 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)
更多细节请查看错误:HBASE-13527

关于在 scan.setCaching(cacheRow) 中设置更高值时,Hbase 扫描不返回所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32649885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com