博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase修改压缩格式及Snappy压缩实测分享
阅读量:5889 次
发布时间:2019-06-19

本文共 1254 字,大约阅读时间需要 4 分钟。

一、要点

有关Snappy的相关介绍可参看,如果想安装Snappy,可以参看。

1. HBase修改Table压缩格式步骤

2. 实测结果分享

二、HBase修改Table压缩格式步骤

修改HBase压缩算法很简单,只需要如下几步:

1. hbase shell命令下,disable相关表:

1
disable
'test'

实际产品环境中,’test’表可能很大,例如上几十T的数据,disable过程会比较缓慢,需要等待较长时间。disable过程可以通过查看hbase master log日志监控。

2. 修改表的压缩格式

1
alter
'test'
, NAME =>
'f'
, COMPRESSION =>
'snappy'

NAME即column family,列族。HBase修改压缩格式,需要一个列族一个列族的修改。而且这个地方要小心,别将列族名字写错,或者大小写错误。因为这个地方任何错误,都会创建一个新的列族,且压缩格式为snappy。当然,假如你还是不小心创建了一个新列族的话,可以通过以下方式删除:

1
alter
'test'
, {NAME=>
'f'
, METHOD=>
'delete'
}

同样提醒,别删错列族,否则麻烦又大了~

3. 重新enable表

1
enable
'test'

4. enable表后,HBase表的压缩格式并没有生效,还需要一个动作,即HBase major_compact

1
major_compact
'test'

该动作耗时较长,会对服务有很大影响,可以选择在一个服务不忙的时间来做。

describe一下该表,可以看到HBase 表压缩格式修改完毕。

二、 实测结果分享

1. 线上有一个稍微大些的表,压测前的大小是

1
2
[xxxx]hadoop fs -
du
/hbase/tablename
37225209575949    hdfs:
//xxxx
:9000
/hbase/tablename

也即33.85613088171249T

2. 等最终major_compact完毕后,数据大小为

[xxxx]hadoop fs -du /hbase/tablename14910587650937    hdfs://xxxx:9000/hbase/tablename

即剩余13.56110046884805T,压缩掉20.29503041286444T

3. 实测情况下,remaining为:

13.56110046884805/33.85613088171249 = 40.055%

跟网上流传的最好效果22.2%还是有一定差距的。但是Google Snappy官网上也说,为达到更高的压缩速度,Snappy允许损失一些压缩率。

有一点需要说明,因为是线上服务,所以在修改压缩格式后,至comact结束,中间有入库操作,大概有一周到两周的数据入库。也就是说,实际值要比40.055%小一些,但是应该影响不太大。

转载地址:http://ytysx.baihongyu.com/

你可能感兴趣的文章
解决opensips启动时出现PID file /var/run/opensips.pid does not exist 的错误
查看>>
33.Azure创建自动伸缩虚拟机规模集(上)
查看>>
Linux基础知识之命令的语法通用格式
查看>>
我的友情链接
查看>>
RAID 磁盘陈列详解
查看>>
[HDFS]HDFS优化-小文件合并.md
查看>>
公司组网核心、汇聚、接入层交换机配置
查看>>
一个IO的传奇一生(2)
查看>>
linux文件描述符
查看>>
C++ const 详解
查看>>
给Github上的项目添加开源协议
查看>>
imx53 start board 开箱照
查看>>
免费的编程中文书籍索引
查看>>
struts2引入标签时遇到的问题
查看>>
Hibernate例子-自己写的一个干净的给予注解的Hibernate例子
查看>>
WorkFlow入门Step.6—Building a Console Application -For-WF4.0
查看>>
sota系统服务进程的启动与停止(章节:4.2)
查看>>
精选9个值得学习的 HTML5 效果【附源码】
查看>>
查看Beyond Compare比较图片实际尺寸的方法
查看>>
Tomcat 安全配置与性能优化
查看>>