HBase增加/修改/删除表的压缩方式

By | 2019年5月16日

环境信息:

HBase 1.2.2

需求:

一个已经存在的表,修改其压缩方式,并对之前的旧数据生效

实现:

1、进入shell界面–hbase shell

2、停用表–disable ‘geomesa_hbase(表名)’

3、修改压缩方式:由于压缩方式是按照列族指定的,所以修改压缩方式的时候,需要指定列族–alter ‘geomesa_hbase(表名)’, NAME => ‘m(列族名)’, COMPRESSION => ‘snappy(压缩方式)’

4、启用表–enable ‘geomesa_hbase(表名)’

5、查看表属性–desc ‘geomesa_hbase(表名)’

可以看到snappy压缩的配置已经生效

6、但是这只是能让新数据使用SNAPPY压缩方式,如果旧数据也要采用压缩的话,需要执行–major_compact ‘geomesa_hbase(表名)’,由于该操作会给集群造成比较大的压力,所以建议在凌晨或者业务不忙的时候执行

7、执行完毕后可以去hdfs上验证压缩是否生效–hadoop fs -du -s -h /hbase/data/default(namespace名称)/geomesa_hbase(表名)

8、在某些情况下,如果你要删除压缩方式,步骤和上述7步一致,唯一不一样的是第3步修改为–alter ‘geomesa_hbase(表名)’, NAME => ‘m(列族名)’, COMPRESSION => ‘none’

发表评论