右侧
当前位置:网站首页 > 资讯 > 正文

hbase表的设计原则,简述hbase的设计目标

作者:admin 发布时间:2024-04-18 15:30 分类:资讯 浏览:10 评论:0


导读:HBase调优:预分区与行键设计像这样预先创建hbase表分区的方式,称之为预分区。hash(主键)+年月日时(2019062315)这里只取hash(主键)的前6位,使得行...

HBase调优:预分区与行键设计

像这样预先创建hbase表分区的方式,称之为预分区。hash(主键) + 年月日时(2019062315)这里只取hash(主键)的前6位,使得行键的长度正好是16,也就是8的整数倍,在64位计算机中,效果最好。

像这样预先创建hbase表分区的方式,称之为预分区。hash(主键)+年月日时(2019062315)这里只取hash(主键)的前6位,使得行键的长度正好是16,也就是8的整数倍,在64位计算机中,效果最好。

已经有自动分区了,为什么还需要预分区? HBase 在创建表的时候,会自动为表分配一个Region,当一个 Region 达到拆分条件时(shouldSplit 为 true),HBase 中该 Region 将会进行 split,分裂为2个 Region,以此类推。

目前我们已经确定了hbase存储,并且采用预分区的方式并且采用rowkey进行过滤查询,那么现在考虑rowkey的设计。

优化建议:检查RowKey设计以及预分区策略,保证写入请求均衡。 KeyValue大小对写入性能的影响巨大,一旦遇到写入性能比较差的情况,需要考虑是否由于写入KeyValue数据太大导致。

手动设定预分区 手动设置RowKey分了5个region (2)生成16进制序列预分区 (3)按照文件中设置的规则预分区 创建split.txt 然后执行 这里如果文件里面给的分区键不是按照顺序的,hbase会先帮我们把键排序,然后按照键来分区。

标签:


取消回复欢迎 发表评论: