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]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM