我正在HBase Java客户端/ Thrift/REST接口上运行一些性能测试。 我有一张名为“航空公司”的表,它有500K行。 我通过4个不同的Java程序从表中取出所有500K行。 (使用JAVA客户端,Thrift,Thrift2和REST)为什么HBase Java客户端与REST/Thrift相比较慢
以下是具有各种读取大小的性能数字。 对于所有这些批量大小设置100000
[Table which shows the performance numbers. All times are in ms][1]
我可以看到的是,有一个性能改进,因为我们增加REST的情况下,获取大小,节俭和节俭2。
但是对于Java API,我看到了一致的性能,而与抓取大小无关。 为什么在JAVA客户端中读取大小不受影响?
这是我的Java程序
Table table = conn.getTable(TableName.valueOf("Airline"));
Scan scan = new Scan();
ResultScanner scanner = table.getScanner(scan);
for (Result[] result = scanner.next(fetchSize); result.length != 0; result = scanner.next(fetchSize))
的片段{ - 过程中的行 }
有人可以帮我在这。我是否使用错误的方法/类通过JAVA客户端获取数据。
您的问题中的信息太少,无法猜测什么可能是差异的原因。你正在使用的是什么HBase版本?你使用默认配置还是你有自定义配置?您是否为扫描仪设置了“缓存”? –