Hbase region切片 reqion切片合并操作

查看Hbase表分区情况

scan 'hbase:meta'

 t1,,1487821235337.353a385f28af52ed47e675f18242bbf8.       column=info:regioninfo, timestamp=1487821236518, value={ENCODED => 353a385f28af52ed47e675f18242bbf8, NAME => 't1,,1487821235337.353a385f28af52ed47e675f18242bbf8.', START
                                                           KEY => '', ENDKEY => ''}
 t1,,1487821235337.353a385f28af52ed47e675f18242bbf8.       column=info:seqnumDuringOpen, timestamp=1488359119701, value=\x00\x00\x00\x00\x00\x00\x00\x14
 t1,,1487821235337.353a385f28af52ed47e675f18242bbf8.       column=info:server, timestamp=1488359119701, value=centos2:16020
 t1,,1487821235337.353a385f28af52ed47e675f18242bbf8.       column=info:serverstartcode, timestamp=1488359119701, value=1488359111761

完整的region name 

t1,,1487821235337.353a385f28af52ed47e675f18242bbf8. 

表空间:表名, 开始rowId, 时间戳, hashcode(MD5)

region切片

语法

    split 'tableName'

    split 'namespace:tableName'

    split 'regionName' # format: 'tableName,startKey,id'

扫描二维码关注公众号,回复: 282456 查看本文章

    split 'tableName', 'splitKey'

    split 'regionName', 'splitKey'

其中'splitKey'表示从哪一行开始切分

reqion切片合并

  hbase> merge_region 'ENCODED_REGIONNAME', 'ENCODED_REGIONNAME'

  hbase> merge_region 'ENCODED_REGIONNAME', 'ENCODED_REGIONNAME', true     //强制合并

其中'ENCODED_REGIONNAME'表示region Id中的hashcode,比如本文案例中的“353a385f28af52ed47e675f18242bbf8

注意: 只能合并startkey endkey 相邻的region,不相邻的只能强制合并

Hbase数据查询过程

1. 客户端首先连接zookeeper,查找表hbase:meta的位置。

2. 查询表hbase:meta, 根据每个region的start key 和 end key 找到特定的region,取得该region所在的server, 比如“column=info:server, timestamp=1488359119701, value=centos2:16020

3. 到指定的server找到该region。

4. hbase:meta表中的信息会被缓存起来,便于下次查找。

猜你喜欢

转载自oracle-api.iteye.com/blog/2359715