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/tablename 37225209575949 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%小一些,但是应该影响不太大。
最新文章
- GeoIP Legacy City数据库安装说明
- some experience duing wrting myweb in php
- Spring3系列5-Bean的基本用法
- CI框架 数据库批量插入 insert_batch()
- Kinetic使用注意点--group
- 【动态页面】(二)Java反射
- 【Solr初探】Solr安装,启动,查询,索引
- Ajax XMLHttpRequest对象的三个属性以及open和send方法
- Kendo UI开发教程(8): Kendo UI 特效概述
- 1270: [BeijingWc2008]雷涛的小猫
- EventBus通信小能手
- JAVA_SE基础——40.super关键字
- Python【第四课】 模块 and 包
- Redis之(二)数据类型及存储结构
- C#解析json和xml数据
- learn
- python学习笔记(六)- 函数、文件json与python字典互操作
- 如何将自己的Image镜像Push到Docker Hub
- eslint 入门学习
- laravel的日志服务
热门文章
- Ubuntu: 为firefox安装flash插件
- Dynamic CRM 2013学习笔记(三十八)流程1 - 操作(action)开发与配置详解
- 在服务器端将现有Git项目导入GitLab
- SQL SERVER 数据库查询表和字段信息语句
- C#,Java,C -循环冗余检验:CRC-16-CCITT查表法
- DDD Example
- [BTS] The adapter ";SQL"; raised an error message. Details ";The Messaging Engine is shutting down. ";.
- [BTS] Action demo In BizTalk WCF-SAP Adapter
- RESTful API设计指南
- app开发之deviceone