美文网首页
Hadoop_常用存储与压缩格式

Hadoop_常用存储与压缩格式

作者: 熊_看不见 | 来源:发表于2018-11-11 19:04 被阅读0次

Hadoop_常用存储与压缩格式

HDFS文件格式

文件格式 版本
TEXTFILE 默认格式
RCFILE hive 0.6.0 和以后的版本
ORC hive 0.11.0 和以后的版本
PARQUET hive 0.13.0 和以后的版本,该数据格式企业中最常用
AVRO hive 0.14.0 和以后的版本

数据存储的方式

文件格式 存储方式 说明 压缩比
textfile 按行存储 不压缩
rcfile 按列存储 14%
orcfile 按列存储 每列数据有类似于元数据的索引信息,可以确定列内容,
需要某列信息时可以直接锁定列内容,效率优于
按行存储。压缩出来的文件比例最小,以时间换存储。
78%
parquet 按列存储 比较复杂,支持嵌套数据结构和高效其种类丰富的算法
(以应对不同值分布特征的压缩)压缩率不如orcfile,
时间与压缩比适中。
62%

说明:orc是rcfile的一个优化版本

Hadoop支持压缩格式

压缩格式 可分割 算法 扩展名 Linux工具
gzip DEFLATE .gz gzip
lzo 是(加索引) LZO .lzo lzop
snappy Snappy .snappy
Bzip2 Bzip2 .bz2 bzip2
deflate DEFLATE .deflate
zip ZIP .zip zip

基于128MB文本文件的压缩性能测试横向比较

编码器 压缩时间(秒) 解压缩时间(秒) 压缩文件大小 压缩比率
Deflate 6.88 6.80 24,866,259 18.53%
gzip 6.68 6.88 24,866,271 18.53%
bzip2 3,012.34 24.31 19,270,217 14.36%
lzo 1.69 7.00 40,946,704 30.51%
lzop 1.70 5.62 40,946,746 30.51%
Snappy 1.31 6.66 46,108,189 34.45%
  1. Gzip压缩

优点:压缩率比较高,压缩/解压速度也比较快,hadoop本身支持。

缺点:不支持分片。

应用场景:当每个文件压缩之后在1个block块大小内,可以考虑用gzip压缩格式。

  1. lzo压缩

优点:压缩/解压速度也比较快,合理的压缩率,支持分片,是Hadoop中最流行的压缩格式,支持Hadoop native库。

缺点:压缩率比gzip要低一些,Hadoop本身不支持,需要安装,如果支持分片需要建立索引,还需要指定inputformat改为lzo格式。

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

  1. snappy压缩

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

缺点:不支持分片,压缩率比gzip要低,Hadoop本身不支持,需要安装。

应用场景:当MapReduce作业的map输出的数据比较大的时候,作为map到reduce的中间数据的压缩格式。

  1. bzip2压缩

优点:支持分片,具有很高的压缩率,比gzip压缩率都高,Hadoop本身支持,但不支持native。

缺点:压缩/解压速度慢,不支持Hadoop native库。

应用场景:适合对速度要求不高,但需要较高的压缩率的时候,可以作为mapreduce作业的输出格式,输出之后的数据比较大,处理之后的数据需要压缩存档减少磁盘空间并且以后数据用得比较少的情况。

总结:压缩比:bzip2 > gzip > lzo > snappy ,压缩速度:snappy > lzo> gzip > bzip2

    所有压缩算法都必须在压缩程度和压缩/解压缩速度之间进行权衡。我们必须根据我们的场景选择这些编解码器,假设我们必须对很少查询的数据进行存档,然后我们必须使用像Bzip2这样的编解码器,如果我们经常需要访问我们的数据,我们可以使用像Snappy这样的算法给我们最快的数据压缩和解压缩。

相关文章

  • Hadoop_常用存储与压缩格式

    Hadoop_常用存储与压缩格式 HDFS文件格式 数据存储的方式 说明:orc是rcfile的一个优化版本 Ha...

  • 14 Linux压缩命令

    压缩与解压缩 常用压缩格式:.zip .gz .bz2常用压缩格式:.tar.gz .tar.bz2 .zip压缩...

  • RDIFramework.NET ━ .NET快速信息化系统开发

    在项目对文件进行解压缩是非常常用的功能,对文件进行压缩存储或传输可以节省流量与空间。压缩文件的格式与方法都比较多,...

  • linux压缩解压文件tar.gz

    压缩.gz格式: 其他压缩格式: Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2...

  • Linux 2018-10-20

    #压缩与打包命令 压缩最常用的是 : .tar.gz .tar.bz2 常用压缩格式:.zip .gz .bz...

  • 压缩命令 zip gz

    常用压缩格式: .zip .gz .bz2常用压缩格式: .tar.gz .tar.bz2 .zip格式...

  • linux-基础-常用压缩命令

    1、常用压缩格式 2、GZIP压缩 -c 压缩的格式输出到屏幕上。-d 解压缩参数。-t 对压缩格式进行校验...

  • 5.Linux—压缩命令

    压缩命令 压缩常用的是:.tar.gz .tar.zb2 常用压缩格式:.zip .gz .bz2 常用压缩...

  • Linux解压缩命令

    常用的压缩格式: .zip格式压缩:linux和windows中的zip格式可以通用 压缩文件夹: 解压缩: 删除...

  • Linux压缩与解压缩命令

    常用压缩格式 压缩格式: .zip、.gz、.bz2、.tar.gz、.tar.bz2、.tar.xz最常用的是....

网友评论

      本文标题:Hadoop_常用存储与压缩格式

      本文链接:https://www.haomeiwen.com/subject/lfhffqtx.html