HBase 的预分区和优化

一 HBase 预分区

每一个 Region 维护着 StartRowKey 与 EndRowKey ,如果加入的数据符合某个 Region 维护的 RowKey 范围 ,则该数据交给这个 Region 维护。依照这个原则,可以将数据所要投放的分区提前大致规划好,以提高 HBase 的性能。

1- 手动设定预分区

hbase> create 'emp1','info','partition1',SPLITS => ['1','2','3','4']

create ‘表名’,‘列族’,‘分区名’,SPLITS => [‘分’,‘区’,‘参’,‘照’]
代码中的分区会按照字典排序中 “1之前”、“1-2之间”、“2-3之间”、“3-4之间”、“4之后” 划分为 5 个分区,并将这些分区均匀的分布在所有 RegionServer 上。存入数据时,会按照 “RowKey—列族—列” 名称的字典排序将数据放入划分好的相应分区中。

2- 按照文件中设置的规则预分区
创建 splits.txt 文件,内容如下:

aaaaa
bbbbb
ccccc
ddddd
eeeee

然后执行:

hbase> create 'emp2','partition2',SPLITS_FILE => 'splits.txt'

3- 使用 JavaAPI 创建预分区


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值