设置预分区

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

设置方法

为HBase表test设置预分区,创建表格的语句如下示例,示例中字段的描述如下表。

create'test',{NAME => 'f1',COMPRESSION => 'snappy' }, { NUMREGIONS => 50, SPLITALGO => 'HexStringSplit' }

字段

描述

NAME

HBase表的列族名称。

COMPRESSION

HBase表的数据压缩格式,具体请参见数据压缩与编码

NUMREGIONS

表示Region的个数,一般按照每个Region使用6~8 GB的存储量来计算Region数量。如果集群规模大,Region数量可以设置多。

SPLITALGO

表示Rowkey分割的算法。云数据库HBase自带了三种分隔算法,每个分割算法的适用场景如下描述:

  • HexStringSplit:适用于以十六进制的字符串作为前缀的Rowkey。

  • DecimalStringSplit:适用于以十进制的数字字符串作为前缀的Rowkey。

  • UniformSplit:适用于Rowkey的前缀是完全随机的。

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