hbase的四种压缩格式

Hbase支持的压缩格式:

hbase支持的压缩格式:GZ(GZIP),LZ0,LZ4,Snappy

GZ:用于冷数据压缩,与Snappy和LZ0相比,GZIP的压缩率更高,但是更消耗CPU,解压/压缩速度更慢。

Snappy和LZ0:用于热数据压缩,占用CPU少,解压/压缩速度比GZ快,但是压缩率不如GZ高。

Snappy与LZ0相比,Snappy整体性能优于LZ0,Snappy压缩率比LZ0更低,但是解压/压缩速度更快。

LZ4与LZ0相比,LZ4的压缩率和LZ0的压缩率相差不多,但是LZ4的解压/压缩速度更快。

多数情况下,选择Snppy或LZ0是比较好的选择,因为它们的压缩开销底,能节省空间。

建表时指定压缩格式

hbase(main):013:0> create ‘test3‘,{NAME=>‘f1‘},{NAME=>‘f2‘,COMPRESSION=>‘Snappy‘}
0 row(s) in 1.2740 seconds
 
=> Hbase::Table - test3
hbase(main):014:0> desc ‘test3‘
Table test3 is ENABLED                                                                                                                                             
test3                                                                                                                                                              
COLUMN FAMILIES DESCRIPTION                                                                                                                                        
{NAME => ‘f1‘, BLOOMFILTER => ‘ROW‘,VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘,DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘NONE‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                           
{NAME => ‘f2‘, BLOOMFILTER => ‘ROW‘,VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘,DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘SNAPPY‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                        
2 row(s) in 0.0300 seconds

hbase(main):002:0> create ‘test4‘ ,{NAME=>‘f1‘},{NAME=>‘f2‘,COMPRESSION=>‘GZ‘}
0 row(s) in 1.4900 seconds

=> Hbase::Table - test4
hbase(main):003:0> desc ‘test4‘
Table test4 is ENABLED                                                                                                                                              
test4                                                                                                                                                               
COLUMN FAMILIES DESCRIPTION                                                                                                                                         
{NAME => ‘f1‘, BLOOMFILTER => ‘ROW‘, VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘, DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘NONE‘, MIN_VERSIONS => ‘0‘, BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE => ‘0‘}                                                           
{NAME => ‘f2‘, BLOOMFILTER => ‘ROW‘, VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘, DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘GZ‘, MIN_VERSIONS => ‘0‘, BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE => ‘0‘}                                                             
2 row(s) in 0.1290 seconds

建表后修改columnfamily压缩格式

正确做法是先disable表,再修改列族压缩格式,enbale表后做major_compact操作。

如下:

hbase(main):004:0> desc ‘test1‘
Table test1 is ENABLED                                                                                                                                             
test1                                                                                                                                                              
COLUMN FAMILIES DESCRIPTION                                                                                                                                        
{NAME => ‘f1‘, BLOOMFILTER => ‘ROW‘,VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘,DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘NONE‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                          
{NAME => ‘f2‘, BLOOMFILTER => ‘ROW‘,VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘,DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘NONE‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                          
2 row(s) in 0.0230 seconds
 
hbase(main):005:0> disable ‘test1‘
0 row(s) in 2.2870 seconds
 
hbase(main):006:0> alter ‘test1‘ ,{NAME=>‘f1‘,COMPRESSION=>‘Snappy‘}
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.9510 seconds
 
hbase(main):007:0> enable ‘test1‘
0 row(s) in 1.2820 seconds
 
hbase(main):008:0> desc ‘test1‘
Table test1 is ENABLED                                                                                                                                              
test1                                                                                                                                                              
COLUMN FAMILIES DESCRIPTION                                                                                                                                        
{NAME => ‘f1‘, BLOOMFILTER => ‘ROW‘,VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘,DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘SNAPPY‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                         
{NAME => ‘f2‘, BLOOMFILTER => ‘ROW‘,VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘,DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘NONE‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                          
2 row(s) in 0.0310 seconds
 
hbase(main):009:0> major_compact ‘test1‘
0 row(s) in 0.1380 seconds
 
hbase(main):010:0> desc ‘test1‘
Table test1 is ENABLED                                                                                                                                             
test1                                                                                                                                                              
COLUMN FAMILIES DESCRIPTION                                                                                                                                        
{NAME => ‘f1‘, BLOOMFILTER => ‘ROW‘,VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘,DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘SNAPPY‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                        
{NAME => ‘f2‘, BLOOMFILTER => ‘ROW‘,VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘,DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRESS
ION => ‘NONE‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                          
2 row(s) in 0.0260 seconds

但是没有disable表,也不做major_compact,列族压缩格式也修改成功了(暂时不知道原因)。

hbase(main):001:0> desc ‘test‘
Table test is ENABLED                                                                                                                                               
test                                                                                                                                                                
COLUMN FAMILIES DESCRIPTION                                                                                                                                         
{NAME => ‘fam1‘, BLOOMFILTER => ‘ROW‘, VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS => ‘FALSE‘, DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRE
SSION => ‘NONE‘, MIN_VERSIONS => ‘0‘, BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE => ‘0‘}                                                         
1 row(s) in 0.3680 seconds

hbase(main):002:0> alter ‘test‘,{NAME=>‘fam1‘,COMPRESSION=>‘LZ4‘}
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 2.0460 seconds

hbase(main):003:0> desc ‘test‘
Table test is ENABLED                                                                                                                                               
test                                                                                                                                                               
COLUMN FAMILIES DESCRIPTION                                                                                                                                        
{NAME => ‘fam1‘, BLOOMFILTER =>‘ROW‘, VERSIONS => ‘1‘, IN_MEMORY => ‘false‘, KEEP_DELETED_CELLS =>‘FALSE‘, DATA_BLOCK_ENCODING => ‘NONE‘, TTL => ‘FOREVER‘, COMPRE
SSION => ‘LZ4‘, MIN_VERSIONS => ‘0‘,BLOCKCACHE => ‘true‘, BLOCKSIZE => ‘65536‘, REPLICATION_SCOPE =>‘0‘}                                                          
1 row(s) in 0.0280 seconds
时间: 2024-10-25 00:59:54

hbase的四种压缩格式的相关文章

hadoop中4种压缩格式的特征的比较

1 gzip压缩 优点:压缩率比较高,而且压缩/解压速度也比较快:hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样:有hadoop native库:大部分linux系统都自带gzip命令,使用方便. 缺点:不支持split. 应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格式.譬如说一天或者一个小时的日志压缩成一个gzip 文件,运行mapreduce程序的时候通过多个gzip文件达到并发.hive程序,streaming程序,和j

Spark入Hbase的四种方式效率对比

一.方式介绍 本次测试一种采用了四种方式进行了对比,分别是:1.在RDD内部调用java API.2.调用saveAsNewAPIHadoopDataset()接口.3.saveAsHadoopDataset().4.BulkLoad方法. 测试使用的大数据版本如下(均为单机版):Hadoop2.7.4.Hbase1.0.2.Spark2.1.0 二.测试(BulkLoad暂未测试) 本次测试采用10W条单一列簇单一字段固定值进行测试. 以下是测试结果: 1.JAVA API 10W条数据:10

常见压缩格式比对,及 Linux 下的压缩相关指令

可先浏览加粗部分 一.常见压缩档 *.zip | zip 程序压缩打包的档案: (很常见,但是因为不包含文档名编码信息,跨平台可能会乱码) *.rar | winrar 进程压缩打包的档案:(在windows上很常见,但是是商业软件.) *.gz | gzip 程序压缩的档案: (linux目前使用最广泛的压缩格式) *.bz2 | bzip2 程序压缩的档案: *.xz | xz 程序压缩的档案: *.tar | tar 程序打包的资料,并没有压缩过: *.tar.gz | tar 程序打包的

哎哟我去!betterzip居然支持这么多压缩格式!

Mac解压软件 BetterZip 是一款功能强大的Mac压缩工具,不仅有着强大的数据密码保护功能,让我们的压缩数据更加安全,还支持着多种压缩格式,不管是主流的还是其他的,都可以试用BetterZip进行解压缩工作. 今天小编就要给大家具体介绍一下,BetterZip到底支持多少种压缩格式. 支持的压缩格式包括: ZIP,TAR,TGZ,TBZ,TXZ,7-ZIP,RAR,Apple Disk Images(DMG),TNEF(winmail.dat),ARJ,LHA,LZH,ISO,CHM,C

HBase修改压缩格式及Snappy压缩实测分享

HBase修改压缩格式及Snappy压缩实测分享

关于计算机学习的书(doc,mobi,epub,pdf四种格式)

关于计算机学习的书(doc,mobi,epub,pdf四种格式) <html> <body> <div> 21天学通C+ +2016/6/22 18:47文條 30天自制操作系统-川合秀实2016/6/22 18:46文條 Android从入门到精通-明日雛2016/6/22 18:46文條 Android的设计与实现(卷1)-杨云君2016/6/22 18:46文條 Android开发精要-范辟2016/6/22 18:46文條 ASP.NET 南-马伟2016/6/

Android电话拨号器(uri格式)与四种设置点击事件的方法

EditText et = (EditText) findViewById(R.id.callnum); String phone = et.getText().toString().trim(); //创建意图 Intent intent = new Intent(); intent.setAction(intent.ACTION_CALL); intent.setData(Uri.parse("tel:"+phone)); startActivity(intent); 第一种:th

MySQL中四种常用存储引擎的介绍

MySQL常用的四种引擎的介绍 (1):MyISAM存储引擎: 不支持事务.也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 支持3种不同的存储格式,分别是:静态表:动态表:压缩表 静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复:缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空格)ps:在取数据的时候,默认会把字段后面的空格去掉,如果不注意会把

Android——数据存储(四种方式之二)读写SD卡

Android--数据存储(四种方式) 1.SharedPrefereces 只能保存一些简单的数轻量级.XML  存储文件名, 数据保存在data/data/basepackage/shared_prefs/myopt.xml中    实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default) 2.读写SD卡  SD的根目录  适用于数据流读写 实现步骤:加入读写SD卡权限