HBASE 讀取資料 優化

2022-09-08 16:12:13 字數 1964 閱讀 2366

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

filterlist.addfilter(new firstkeyonlyfilter());

filterlist.addfilter(new keyonlyfilter());

scan.setfilter(filterlist);

6、多執行緒查詢資料時

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

try catch (throwable throwable)

9、可以再客戶端建立乙個快取系統

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...