下城網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),下城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為下城上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的下城做網(wǎng)站的公司定做!
region中存儲(chǔ)的是大量的rowkey數(shù)據(jù) ,當(dāng)region中的數(shù)據(jù)條數(shù)過多的時(shí)候,直接影響查詢效率.當(dāng)region過大的時(shí)候.hbase會(huì)拆分region , 這也是Hbase的一個(gè)優(yōu)點(diǎn) .
HBase的region split策略一共有以下幾種:
1、ConstantSizeRegionSplitPolicy
當(dāng)region大小大于某個(gè)閾值(hbase.hregion.max.filesize=10G)之后就會(huì)觸發(fā)切分,一個(gè)region等分為2個(gè)region。
2、IncreasingToUpperBoundRegionSplitPolicy
0.94版本~2.0版本默認(rèn)切分策略
切分策略稍微有點(diǎn)復(fù)雜,總體看和ConstantSizeRegionSplitPolicy思路相同,一個(gè)region大小大于設(shè)置閾值就會(huì)觸發(fā)切分。但是這個(gè)閾值并不像ConstantSizeRegionSplitPolicy是一個(gè)固定的值,而是會(huì)在一定條件下不斷調(diào)整,調(diào)整規(guī)則和region所屬表在當(dāng)前regionserver上的region個(gè)數(shù)有關(guān)系.
3、SteppingSplitPolicy
2.0版本默認(rèn)切分策略
4、KeyPrefixRegionSplitPolicy
5、DelimitedKeyPrefixRegionSplitPolicy
執(zhí)行合并前,==需要先關(guān)閉hbase集群==
create 'test','info1',SPLITS => ['1000','2000','3000']
需求:
需要把test表中的2個(gè)region數(shù)據(jù)進(jìn)行合并:
test,,1565940912661.62d28d7d20f18debd2e7dac093bc09d8.
test,1000,1565940912661.5b6f9e8dad3880bcc825826d12e81436.
這里通過org.apache.hadoop.hbase.util.Merge類來實(shí)現(xiàn),不需要進(jìn)入hbase shell,直接執(zhí)行(==需要先關(guān)閉hbase集群==):
hbase org.apache.hadoop.hbase.util.Merge test test,,1565940912661.62d28d7d20f18debd2e7dac093bc09d8. test,1000,1565940912661.5b6f9e8dad3880bcc825826d12e81436.
==不需要關(guān)閉hbase集群==,在線進(jìn)行合并
與冷合并不同的是,online_merge的傳參是Region的hash值,而Region的hash值就是Region名稱的最后那段在兩個(gè).之間的字符串部分。
需求:需要把test表中的2個(gè)region數(shù)據(jù)進(jìn)行合并:
test,2000,1565940912661.c2212a3956b814a6f0d57a90983a8515.
test,3000,1565940912661.553dd4db667814cf2f050561167ca030.
需要進(jìn)入hbase shell:
merge_region 'c2212a3956b814a6f0d57a90983a8515','553dd4db667814cf2f050561167ca030'
成功后觀察界面
merge_region 'c2212a3956b814a6f0d57a90983a8515','553dd4db667814cf2f050561167ca030'