码迷,mamicode.com
首页 > 其他好文 > 详细

对已经存在的hbase表修改压缩方式

时间:2019-08-18 11:39:27      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:key   hdfs   compact   row   膨胀   建议   bsp   不用   div   

业务上可能会遇到这种情况,在最初创建hbase表时候,未指定压缩方式,当数据导入之后,由rowkey带来的数据膨胀导致hdfs上的数据大小远远大于原始数据大小。所以这时候可能就不得不考虑使用压缩,但是如果将表删除,再创建一张指定压缩的表,再重新导入数据未免太浪费时间。当然也完全不用这样,可以直接修改hbase表的压缩方式,然后在执行major_compact即可

 

disable testcompression‘ //首先将表下线
alter testcompression, NAME => f1, COMPRESSION => SNAPPY‘ //修改表属性,指定压缩方式为SNAPPY
enable testcompression‘ //启用表

desc testcompression‘ //验证是否已启用压缩放肆
major_compact testcompression‘ //执行大合并

 

需要注意的几点:

  1.在执行alter之后,hbase表已经启用压缩,但是对于原来表里已有的数据并不会进行压缩,后续再写入的数据才会执行压缩(可以到hdfs验证)

  2.如果想把原来表里已有的数据也使用压缩,那么需要执行一次major_compact。major_compact会重新读写数据,在这个流程中,对原有的数据进行压缩,但是如果表数据很大执行major_compact对hbase集群会有比较大的影响。如果是线上环境,建议在业务不繁忙期间执行。

对已经存在的hbase表修改压缩方式

标签:key   hdfs   compact   row   膨胀   建议   bsp   不用   div   

原文地址:https://www.cnblogs.com/dtmobile-ksw/p/11371612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!