hbase预分区

一、原理

HBase在创建表时,默认会自动创建一个Region分区。在导入数据时,所有客户端都向这个Region写数据,直到这个Region足够大才进行切分。这样在大量数据并行写入时,容易引起单点负载过高,从而影响入库性能。一个好的方法是在建立HBase表时预先分配数个Region,这样写入数据时,会按照Region分区情况,在集群内做数据的负载均衡。

--自定义预分区的RowKey

hbase> create 't1', 'f1', SPLITS => ['10', '20', '30']

--使用文件内容预分区

hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'

--使用内置的分区算法HexStringSplit

hbase> create 't1', 'f1', {NUMREGIONS => 3, SPLITALGO => 'HexStringSplit'}

--指定列族'info'使用'GZ'压缩

hbase> create 'pre', { NAME => 'info', COMPRESSION => 'GZ'}, {NUMREGIONS =>3, SPLITS => ['10', '20']}

二、为何要

你可能感兴趣的:(大数据运维,hbase,数据库,大数据)