hbase预分区

发布时间:2024年01月20日

一、原理

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']}

二、为何要

文章来源:https://blog.csdn.net/wsq1011/article/details/135692056
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。