1、設定scan快取
scan.setcaching(1000);
定義一次互動從服務端傳輸到客戶端的行數
2、顯示的指定列
scan.addcolumn(cf,column)
只獲取需要的列,減少傳輸的資料量,減少io的消耗
3、使用完resultscanner後關閉,否則可能出現一段時間內服務端一致儲存著連線,資源無法釋放,
造成服務端資源的不可用,可能引發regionserver的其他問題
4、禁用塊快取
5、優化行健查詢
使用filter對資料進行過濾,在regionserver端進行,效率快
可以降低客戶端壓力
只獲取行**:
filterlist filterlist = new filterlist(filterlist.operator.must_pass_all);6、多執行緒查詢資料時filterlist.addfilter(new firstkeyonlyfilter());
filterlist.addfilter(new keyonlyfilter());
scan.setfilter(filterlist);
htable執行緒不安全
使用htablepool
7、使用批量讀
get時可以使用table.get(list)
8、使用coprocessor統計行數
**:新增coprocessor
connection connection = connectionfactory.createconnection(conf);查詢**//admin admin = connection.getadmin();
//tablename tablename1 = tablename.valueof(tablename);
//string coprocessclassname = "org.apache.hadoop.hbase.coprocessor.aggregateimplementation";
admin.disabletable(tablename1);
htabledescriptor htd = admin.gettabledescriptor(tablename1);
htd.addcoprocessor(coprocessclassname);
admin.modifytable(tablename1,htd);
admin.enabletable(tablename1);
aggregationclient ac = new aggregationclient(conf);9、可以再客戶端建立乙個快取系統try catch (throwable throwable)
10、使用hbase shell檢視單個region的資料條數?
同樣可以檢視乙個區間範圍的資料(使用api方式(spark,mapreduce,hive sql,hbase api)更方面,count方式不支援startrow,stoprow,上面這種是乙個比較笨的方法)scan 'test:no_compact_shixq02_20190305',
start和stop分別對應乙個region的split key就可以了
11、如何檢視乙個region的資料儲存大小?
60010介面table details中每乙個region都有乙個name:如:test:no_compact_shixq02_20190305,,1554773814183.a48ba410b7cd9dd926fd0379995c097e.
其中a48ba410b7cd9dd926fd0379995c097e 是這個表下面的region在hdfs資料夾的名稱
bin/hadoop fs -du -h /hbp_root/tenanta/hbase/data 這個命令可以統計資料夾大小,結果第一列為資料儲存大小
hbase資料讀取優化 HBase效能優化 總結篇
1 hbase.hregion.max.filesize應該設定多少合適 預設值 256m 說明 maximum hstorefile size.if any one of a column families hstorefiles has?grown to exceed this value,th...
HBASE的優化部分 HBASE讀取表的優化
3.1 多htable併發讀 建立多個htable客戶端用於讀操作,提高讀資料的吞吐量,乙個例子 static final configuration conf hbaseconfiguration.create static final string table log name user log...
HBASE元資料及資料讀取過程
一,基於hbase0.98版本的hbase元資料資訊 檢視通過 zk檢視hbase的元資料資訊,可以能過目錄看出來無資料資訊較以前的版本有較大的改動,現在已經沒有了root region server的資訊。get hbase meta region server 可以看出元資料表的region在1...