HBase表預分區

HBase 預分區


在創建HBase表的時候默認一張表只有一個region,所有的put操作都會往這一個region中填充數據,當這個一個region過大時就會進行split。如果在創建HBase的時候就進行預分區則會減少當數據量猛增時由於region split帶來的資源消耗。

HBase表的預分區需要緊密結合業務場景來選擇分區的key值,每個region都有一個startKey和一個endKey來表示該region存儲的rowKey範圍。

創建包含預分區表的命令如下:

> create 't1', 'cf', SPLITS => ['20150501000000000', '20150515000000000', '20150601000000000']

或者

> create 't2', 'cf', SPLITS_FILE => '/home/hadoop/splitfile.txt'

/home/hadoop/splitfile.txt中存儲內容如下:
20150501000000000
20150515000000000
20150601000000000

該語句會創建4個region:

                startkey                    endkey
region0         -                           20150501000000000
region1         20150501000000000           20150515000000000
region2         20150515000000000           20150601000000000
region3         20150601000000000           -

// region0沒有startKey
// region3沒有endKey

// 當put的一條數據rowKey值爲20150516000000000時則會放入region2中

從HBase的Web UI中可以查看到表的分區

這裏寫圖片描述

每個region的命名方式如下:[table],[region start key],[region id]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章