我正在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版本?你使用默認配置還是你有自定義配置?您是否爲掃描儀設置了「緩存」? –