云数据库HBase的预分区功能可以帮助您合理的设计Rowkey,从而避免出现数据热点现象。本文介绍如何为HBase表设置预分区。

设置方法

为HBase表test设置预分区,创建表格的语句如下示例,示例中字段的描述如下表。
create‘test’,{NAME => ‘f1’,COMPRESSION => ‘snappy’ }, { NUMREGIONS => 50, SPLITALGO => ‘HexStringSplit’ }
字段 描述
NAME HBase表的列族名称。
COMPRESSION HBase表的数据压缩格式,具体请参见数据压缩与编码
NUMREGIONS 表示地域的个数,一般按照每个地域使用6~8 GB的存储量来计算地域数量。如果集群规模大,地域数量可以设置多。
SPLITALGO 表示Rowkey分割的算法。云数据库HBase自带了三种分隔算法,每个分割算法的适用场景如下描述:
  • HexStringSplit:适用于以十六进制的字符串作为前缀的Rowkey。
  • DecimalStringSplit:适用于以十进制的数字字符串作为前缀的Rowkey。
  • UniformSplit:适用于Rowkey的前缀是完全随机的。

关于Rowkey的设计方法详情请参见如何设计Rowkey