Hbase表的建立過程以及預分割槽與RowKey設計

2022-07-15 17:00:25 字數 1151 閱讀 4280

hbase表的建立過程:

1.首先獲得乙個conf物件    

configuration conf = hbaseconfiguration.create();

2.配置zookeeper節點與埠號

conf.set("hbase.zookeeper.quorum", "node01,node02,node03");    

conf.set("hbase.zookeeper.property.clientport", "2181");

3.獲得乙個connection物件

hbaseconn= connectionfactory.createconnection(conf);

4.建立乙個管理員物件進行表的操作

admin admin = hbaseconn.getadmin();

5.判斷該錶是否存在,存在則刪除

if (admin.tableexists(tablename.valueof(tablename)))

6.建立tabledescriptor和columndescriptor
htabledescriptor htabledescriptor = new htabledescriptor(tablename);

hcolumndescriptor hcolumndescriptor = new hcolumndescriptor(constants.default_family);

htabledescriptor.addfamily(hcolumndescriptor);

7.建立table,並指定預分割槽數

createtable(htabledescriptor, splitkey);

8.預分割槽**

private byte getsplitkey(integer defaultregionnum) 

return bytenum;

}

9.rowkey設計

HBASE 預分割槽建表

在create乙個表時如果不指定預分配region,則缺省會先分配乙個region,這樣在大資料並行載入時效能比較低,因為所有的資料都往乙個region灌入,容易引起單節點負載公升高,從而影響入庫效能,乙個好的方法時在建立表時預先分配數個region。方法有兩種,主要針對不同版本可供選擇。1.使用r...

Hbase 表預分割槽 手動分割槽

預設情況下,在建立hbase表的時候會自動建立乙個region分割槽,當匯入資料的時候,所有的hbase客戶端都向這乙個region寫資料,直到這個region足夠大了才進行切分。一種可以加快批量寫入速度的方法是通過預先建立一些空的regions,這樣當資料寫入hbase時,會按照region分割槽...

hbase中預分割槽表中資料的查詢(二)

在上一遍博文中介紹了建立建立預分割槽,並實現新增資料操作,本篇博文,介紹不同角度的查詢 scan 設定時間範圍查詢 param htable throws ioexception private static void scanbyrangequery table htable,string sta...