HBase预分区
概念:
HBase表被创建时,只有1个Region,当一个Region过大达到默认的阈值时(默认10GB大小),HBase中该Region将会进行split,分裂为2个Region,以此类推。
表在进行split的时候,会耗费大量的资源,频繁的分区对HBase的性能有巨大的影响。
所以,HBase提供了预分区功能,即用户可以在创建表的时候对表按照一定的规则分区。
作用:
避免HBase经常split,产生不必要的资源消耗,提高HBase的性能。
预分区的方法:
1.HBase Shell
2.HBase Shell(通过读取split文件)
3.HBase Java API
案例:
这里有一个用户数据文件,内容如下:
注:图片所示数据均为假数据,如有雷同,纯属巧合!
分析数据:
1.将第一列数据作为Row-key,该列为用户手机号倒转(为了避免Region热点问题),关于Row-Key设计,请关注后续博客文章更新。
2.其他列为用户信息,设置列族:Info,还有其他额外用户描述信息,设置列族