HBase表預分區

在建立Hbase表的時候默認一張表只有一個region,全部的put操做都會往這一個region中填充數據,當這個一個region過大時就會進行split。若是在建立HBase的時候就進行預分區則會減小當數據量猛增時因爲region split帶來的資源消耗。oop

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

建立包含預分區表的命令以下:code

> 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:blog

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

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

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

從HBase的Web UI中能夠查看到表的分區hadoop

 

 

每一個region的命名方式以下:[table],[region start key],[region id]資源

相關文章
相關標籤/搜索