HBase修改压缩格式及Snappy压缩实测分享
一、要点
有关Snappy的相关介绍可参看Hadoop压缩-SNAPPY算法,如果想安装Snappy,可以参看Hadoop HBase 配置 安装 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/tablename37225209575949 hdfs://xxxx:9000/hbase/tablename |
也即33.85613088171249T
2. 等最终major_compact完毕后,数据大小为
[xxxx]hadoop fs -du /hbase/tablename
14910587650937 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%小一些,但是应该影响不太大。
HBase修改压缩格式及Snappy压缩实测分享的更多相关文章
- ZIP压缩格式与RAR压缩格式
早已习惯了安装系统之后必须安装winrar,压缩文件也已经习惯了rar格式,这种习惯的力量真的挺可怕的.在工作中你的同事可能没有安装winrar,或者他们不喜欢安装盗版软件,这时候你给他们发送过去的是 ...
- Linux 常见压缩格式详解
linux 文件压缩格式详解 压缩文件原理 在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据比特(或者其它信息相关的单位)表示信息的过程.例如,如果我们将" ...
- 常见压缩格式分析,及 Linux 下的压缩相关指令
可先浏览加粗部分 一.常见压缩档 *.zip | zip 程式壓縮打包的檔案: (很常见,但是因为不包含文件名编码信息,跨平台可能会乱码) *.rar | winrar 程序压缩打包的档案:(在win ...
- fiddler查看http压缩格式传输的报文
1.当传输的报文比较大时,http一般会采取压缩的格式(如gzip)传输(支持编码:Accept-Encoding: gzip, deflate, br).2.当采用压缩格式编码传输时,直接在raw中 ...
- hbase记录-修改压缩格式
在业务空闲的时候修改压缩格式 先测试 ---测试表create 'test', { NAME => 'c',VERSIONS => 1}desc 'test'disable 'test'a ...
- HBase里配置SNAPPY压缩以后regionserver启动不了的问题
配置了HBase的SNAPPY压缩以后,出现regionserver启动不了的问题.分析应该是属性配置错了! 官网上的是:<name>hbase.regionserver.codecs&l ...
- HBase 安装snappy压缩软件以及相关编码配置
HBase 安装snappy压缩软件以及相关编码配置 前言 在使用HBase过程中因为数据存储冗余.备份数等相关问题占用过多的磁盘空间,以及在入库过程中为了增加吞吐量所以会采用相关的压缩算法来压缩 ...
- 关于Hbase开启snappy压缩
版本:自己编译的hbase-1.2.0-cdh5.14.0 默认情况下,Hbase不开启snappy压缩 , 所以在hbase的lib/native目录下什么也没有(我的前提是执行hadoop che ...
- hbase优化之region合并和压缩
HBASE操作:(一般先合并region然后再压缩) 一 .Region合并: merge_region 'regionname1','regionname2' ,'true' --true代表 ...
随机推荐
- 黑马程序员+Winform基础(上)
黑马程序员+Winform基础 ---------------<a href="http://edu.csdn.net"target="blank"> ...
- [ASE][Daily Scrum]11.25
View Shilin Liu 修复现有的bug,子弹无法破坏射程内视野外的墙 Yiming Liao 无法看见从视野外到视野内的子弹 Server Songtao He 服务器处理子弹命中t ...
- 用SQLSERVER里的bcp命令或者bulkinsert命令也可以把dat文件导入数据表
用SQLSERVER里的bcp命令或者bulkinsert命令也可以把dat文件导入数据表 下面的内容的实验环境我是在SQLSERVER2005上面做的 之前在园子里看到两篇文章<C# 读取纯真 ...
- Request Tracker 4.0.13 发布
Request Tracker 4.0.13 修复了几个重要的安全问题. Request Tracker,企业级的问题跟踪系统
- java环境配置笔记
1.使用Eclipse,要安装jdk,jdk现在可用1.7版本 2.打开Eclipse,配置maven,打开window-preferencess,在maven-user settings处,设置ma ...
- hibernate date类型插入数据库时精度只到日期没有时间
由hibernate 的逆向工具从数据库表生成的*.hbm.xml ,对于数据库的date类型生成如下: <property name = "crttime" ...
- [游戏模版14] Win32 键盘控制
>_<:compared with the previous article,this one only adds key-message listener. >_<:up d ...
- AngularJS快速入门指南09:SQL
我们可以将之前章节中的代码用来从数据库中读取数据. 通过PHP Server从MySQL数据库中获取数据 <div ng-app="myApp" ng-controller= ...
- C++ Primer 快速入门
<C++ Primer 4th> 读书摘要 必须有一个命名为 main.操作系统通过 main 函数返回的值来确定程序是否成功执行完毕.返回 0 值表明程序程序成功执行完毕.任何其他非零的 ...
- 解决Eclipse Debug source not found问题
解决方法如下:Debug 视图下-->在调试的线程上 右键单击-->选择Edit Source Lookup Path-->选择Add-->选择Java Project选择相应 ...