正文
hbase的rowkey为什么越短越好,hbase的rowkey如何设计
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Hbase分区
1、HBase 在创建表的时候,会自动为表分配一个Region,当一个 Region 达到拆分条件时(shouldSplit 为 true),HBase 中该 Region 将会进行 split,分裂为2个 Region,以此类推。
2、像这样预先创建hbase表分区的方式,称之为预分区。hash(主键) + 年月日时(2019062315)这里只取hash(主键)的前6位,使得行键的长度正好是16,也就是8的整数倍,在64位计算机中,效果最好。
3、hbase swap分区使用率根据相应信息分析系统状况的需要。在系统维护的过程中,随时可能有需要查看CPU使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。
4、hbase.hregion.max.filesize 设定的region大小,超过了就会split,就会增加一个region,对预分区没什么影响。
5、默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。
HBase中rowkey设计有哪些注意点
1、rowkey:行键 设计的三个原则 唯一 必须在设计上保证其唯一性。
2、设计的RowKey应均匀的分布在各个HBase节点上, 避免数据热点现象。
3、行键(RowKey)的设计 首先应该避免使用时序或单调(递减/递增)行键。
4、避免用特殊字符。ASCII 码可显示字符有 95 个,大致顺序如下 第一个是:「空格」,最后一个是:「~」下一篇将讲讲 rowkey 的设计与优化,包括预分区的选择策略。
5、那必须先定位ip,如果定位协议的话,必须先定位ip和端口。综上所述,我们的rowkey设计为ip+timestamp+port+prot 设计搞定之后,我们再考虑查询的问题。
6、rowkey的设计主要为了方便后期的查询(条件查询语句),如果设计的合理,查询速率可以大大提升 分区的设计,主要考量的是入库HBase的速率。如果设计的不合理,会导致局部入库数据过热,严重的有可能出现入库失败的情况。
关于HBase的rowkey设计我想问以下问题
1、设计的RowKey应均匀的分布在各个HBase节点上, 避免数据热点现象。
2、根据你的需求,个人觉得rowkey应该设计成用户名+学校+学院+姓名,并且将这几个值全部转换成定长的字符串存储,以便查询。
3、HBase的Rowkey是按照ASCII有序设计的,我们在设计Rowkey时要充分利用这点。比如视频网站上对影片《泰坦尼克号》的弹幕信息,这个弹幕是按照时间倒排序展示视频里,这个时候我们设计的Rowkey要和时间顺序相关。
4、行键(RowKey)的设计 首先应该避免使用时序或单调(递减/递增)行键。
关于hbase的rowkey为什么越短越好和hbase的rowkey如何设计的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。