我試圖從HBase表使用前綴過濾器掃描一些行。我在HBase 0.96上。使用HBase API HBase數據訪問性能改進
我想增加每個RPC調用的吞吐量,以減少請求觸及區域的次數。
我在掃描對象上試過getCaching(int)和setCacheBlocks(true)。我也嘗試添加resultScanner.next(int)。使用所有這些組合,我仍然無法減少RPC調用的數量。我仍然爲每個密鑰命中HBase區域,而不是每個RPC調用帶來多個密鑰。
HBase區域服務器/ Datanode具有足夠的CPU和內存分配。另外我的數據均勻分佈在不同的區域服務器上。另外,我每次按鍵都帶回的數據並不多。
我觀察到,當我向表中添加更多數據時,請求所用的時間增加。當請求數量增加時它也增加。
謝謝你的幫助。
[R
你能告訴你一些代碼嗎?前綴過濾器 –
這裏是部分過濾器ArrayList filters = new ArrayList (); (字符串標誌:periodFlags) byte [] prefix = Bytes.toBytes(key1 +「_」+ key2 +「_」); filters.add(new PrefixFilter(prefix)); } FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ONE,filters);掃描條件=新掃描(Bytes.toBytes(key1 +「_」)); criteria.setFilter(filterList); –
buckeyeosu