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

1 gzip压缩

优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统都自带gzip命令,使用方便。

缺点:不支持split。

应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格式。譬如说一天或者一个小时的日志压缩成一个gzip 文件,运行mapreduce程序的时候通过多个gzip文件达到并发。hive程序,streaming程序,和java写的mapreduce程序完 全和文本处理一样,压缩之后原来的程序不需要做任何修改。

2 lzo压缩

优点:压缩/解压速度也比较快,合理的压缩率;支持split,是hadoop中最流行的压缩格式;支持hadoop native库;可以在linux系统下安装lzop命令,使用方便。

缺点:压缩率比gzip要低一些;hadoop本身不支持,需要安装;在应用中对lzo格式的文件需要做一些特殊处理(为了支持split需要建索引,还需要指定inputformat为lzo格式)。

应用场景:一个很大的文本文件,压缩之后还大于200M以上的可以考虑,而且单个文件越大,lzo优点越越明显。

3 snappy压缩

优点:高速压缩速度和合理的压缩率;支持hadoop native库。

缺点:不支持split;压缩率比gzip要低;hadoop本身不支持,需要安装;linux系统下没有对应的命令。

应用场景:当mapreduce作业的map输出的数据比较大的时候,作为map到reduce的中间数据的压缩格式;或者作为一个mapreduce作业的输出和另外一个mapreduce作业的输入。

4 bzip2压缩

优点:支持split;具有很高的压缩率,比gzip压缩率都高;hadoop本身支持,但不支持native;在linux系统下自带bzip2命令,使用方便。

缺点:压缩/解压速度慢;不支持native。

应用场景:适合对速度要求不高,但需要较高的压缩率的时候,可以作为mapreduce作业的输出格式;或者输出之后的数据比较大,处理之后的数据 需要压缩存档减少磁盘空间并且以后数据用得比较少的情况;或者对单个很大的文本文件想压缩减少存储空间,同时又需要支持split,而且兼容之前的应用程 序(即应用程序不需要修改)的情况。

最后用一个表格比较上述4种压缩格式的特征(优缺点):

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

压缩格式 split native 压缩率 速度 是否hadoop自带 linux命令 换成压缩格式后,原来的应用程序是否要修改
gzip 很高 比较快 是,直接使用 和文本处理一样,不需要修改
lzo 比较高 很快 否,需要安装 需要建索引,还需要指定输入格式
snappy 比较高 很快 否,需要安装 没有 和文本处理一样,不需要修改
bzip2 最高 是,直接使用 和文本处理一样,不需要修改
时间: 2024-07-30 04:20:27

hadoop中4种压缩格式的特征的比较的相关文章

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

Html中几种图片格式的区别与使用

在HTML中通过<img src="图片路径">引入图片. 常见的图片格式有JPEG(JPG),PNG,GIF... JPEG(JPG)格式的图片: JPEG(JPG)格式的图片支持的颜色比较多,图片可以压缩,不支持透明 一般使用JPEG(JPG)格式来保存颜色比较丰富的照片 GIF格式的图片: GIF格式的图片支持的颜色比较少,只支持简单的透明(直线型区域的透明),支持动态图 图片颜色但一,或者是动态图时用GIF格式的图片 PNG格式的图片: PNG支持的颜色比较多,且支

Apache中的gzip压缩作用及配置

gzip会对文本资源进行压缩,一般能节省40%的大小,二进制内容不需要开启Gzip压缩,因为这些文件是已经压缩过的,如果再进行gzip压缩可能反而会增加其大小,并且空耗cpu资源啊. 静态资源一般都会在代理服务器上进行缓存,而有的浏览器支持gzip,但是也有不支持gzip的老旧浏览器,所以需要设置Vary: Accept-Encoding 头,这个头告诉浏览器,服务器已经接受压缩请求,将原压缩过的内容返回了,还有这个Content-Encoding: gzip头部,它通知浏览器,服务器端采用的压

hadoop中mapreduce的常用类(二)

云智慧(北京)科技有限公司陈鑫 NullWritable  不想输出的时候,把它当做key.NullWritable是Writable的一个特殊类,序列化的长度为0,实现方法为空实现,不从数据流中读数据,也不写入数据,只充当占位符,如在MapReduce中,如果你不需要使用键或值,你就可以将键或值声明为NullWritable,NullWritable是一个不可变的单实例类型. FileInputFormat继承于InputFormat InputFormat的作用: 验证输入规范:切分输入文件

常见压缩格式比对,及 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

Hadoop中HDFS读取和写入的工作原理

介绍 HDFS和HBase是Hadoop中两种主要的存储文件系统,两者适用的场景不同,HDFS适用于大文件存储,HBASE适用于大量小文件存储. 本文主要讲解HDFS文件系统中客户端是如何从Hadoop集群中读取和写入数据的,也可以说是block策略. 正文 一 写入数据 当没有配置机架信息时,所有的机器hadoop都默认在同一个默认的机架下,名为"/default-rack",这种情况下,任何一台 datanode机器,不管物理上是否属于同一个机架,都会被认为是在同一个机架下,此时,

linux中的常用压缩与解压缩命令

linux中常用的压缩格式有   .zip   .gz   .bz2   .tar.gz   .tar.bz2 一..zip 1.命令格式 zip 压缩文件名 源文件名         (压缩文件到当前目录) zip -r 压缩文件名 源目录名     (压缩目录文件到当前目录) unzip 压缩文件名                    (解压缩.zip文件到当前目录) 说明:.zip格式的压缩文件在Linux及Windows中通用,当源文件比较小时,压缩文件可能比原文件大(压缩格式的换算)

Hadoop中最不容错过的压缩知识

随着大数据时代的来临,数据体量越来越大,处理这些数据会越来越受到网络IO的限制,为了尽可能多的处理更多的数据我们必须使用压缩.那么压缩在Hadoop里面是不是所有格式都适用呢?它都有哪些性能呢? 压缩在sqoop里面可以做,在hive和impala里面也可以做.那么什么情况下我们会用压缩呢?通常在数据量非常大,我们通过压缩去减小数据量,从而达到将来去使用数据的时候,减少数据传输IO的情况下去使用.压缩对于性能的提升以及存储效率的提高也有作用. 一.数据压缩 每种文件格式都支持压缩,压缩将减少磁盘