目录

1.Gzip

优点:

缺点:

使用场景:

2.Bzip2

优点:

缺点:

使用场景:

3.Lzo

优点:

缺点:

使用场景:

4.Snappy

优点:

缺点:

使用场景:

总结 :


gzip,bzip2,lzo,snappy是hadoop中比较常见的文件压缩格式,可以节省很多硬盘存储,以下是Gzip , BZip2 , Lzo Snappy 四种方式的优缺点 和使用场景

1.Gzip

优点:

  1.压缩解压速度快 , 压缩率高 , hadoop本身支持

  2.处理压缩文件时方便 , 和处理文本一样

  3.大部分linux 系统自带 Gzip 命令 , 使用方便

缺点:

  不支持切片

使用场景:

  1.文件压缩后在130M以内 (一个块大小) , 都可以使用 GZip 压缩(因为Gzip唯一的缺点是不能切片)

  2.总结 : 不需要切片的情况下 可以使用

2.Bzip2

优点:

  1.压缩率高(高于Gzip)

  2.可以切片

  3.hadoop自带 使用方便

缺点:

  压缩解压速度超级慢

使用场景:

  1.不要求压缩速率 ,但是对压缩率有要求的情况下 比如备份历史记录 , 备份文件

  2.输出的文件较大 , 处理后的数据需要减少磁盘存储并且以后使用数据的情况较少 (解压 / 压缩的情况较少)

  3.对于单个文件 较大 ,又想压缩减少磁盘空间 , 并且兼容之前的应用程序的情况

  4.总结 : 对于压缩解压速度没有要求的情况下

3.Lzo

优点:

  1.压缩解压速度比较快 , 压缩率也可以

  2.支持切片 是hadoop 比较流行的压缩格式

  3.可以在linux 下安装 lzo命令 使用方便

缺点:

  1.压缩率比Gzip低一些
  2.hadoop 本身不支持, 需要自己安装

  3.使用Lzo 格式的文件时需要做一些特殊处理(为了支持 Split 需要建立索引 , 还需要家将 InputFormat 指定为Lzo 格式 [特殊]

使用场景:

  1.压缩以后还大于 200M 的文件 , 且文件越大Lzo 的优势越明显

  2.(原因很简单 , 四种压缩方式 只有BZip2 , Gzip 支持切片 , 然后 BZip2 你懂的 , 速度贼慢 , 只能用于特定的场景, 所以 Lzo 是比较经常用的 )

  3.总结 : 压缩后文件还是比较大 需要切片的情况下 推荐使用

4.Snappy

优点:

  高压缩解压速度 , 压缩率还可以

缺点:

  1.不能切片

  2.压缩率比Gzip小

  3.hadoop本身不支持 需要安装

使用场景:

  1.当Mapeduce的Map阶段输出的数据比较大的时候 , 作为Map到Reduce的中间数据的压缩格式

  2.作为一个MapReduce作业的输出和另一个MapReduce的输入

  3.总结 : 因为 压缩率不怎么样 还不能切片 , 所以在一般的作为输入文件压缩时可以用 GZip 和 Lzo 都比Snappy snappy压缩率要高于lzo

总结 :

压缩速率 : Snappy > GZIp > Lzo >BZip2

支持切片 : BZIp2   LZo

压缩率 : BZip2 > GZip > Lzo > Snappy

特殊 : Lzo Snappy hadoop 本身不支持 , 需要自行安装 并且 Lzo 需要建立索引

Gzip,BZip2,Lzo,Snappy比较相关推荐

  1. Gzip,BZip2,Lzo,Snappy总结

    Gzip,BZip2,Lzo,Snappy总结 说明 优点 不同意见和补充 说明 gzip,bzip2,lzo,snappy是hadoop中比较常见的文件压缩格式,可以节省很多硬盘存储,博主阅读了&q ...

  2. GZIP,XZ,LZO,BZIP2,LZMA压缩比较

    内核压缩和解压缩选项: 1. 压缩效率:LZO <GZIP < BZIP2 < LZMA2. 压缩时间:GZIP <LZO ~= BZIP2 << LZMA3. 解 ...

  3. 压缩工具gzip,bzip2,xz,zip,tar

    gzip bzip2 xz 都可以指定压缩等级,都是1到9 ,不能指定解压目录,不过单个文件时可以使用-c参数重定向(-c:将压缩解压后的结果输出到标准输出)实现.unzip可以使用-d指定解压目录 ...

  4. gzip,bzip2压缩工具及tar打包工具

             gzip,bzip2压缩工具及tar打包工具 1.gzip压缩工具    1>参数:         -c:将参数的数据输出到屏幕上,可通过数据流重定向来处理         ...

  5. 4周第4次课 压缩打包介绍 gzip bzip2 xz压缩工具

    压缩打包介绍 压缩的目的是为了节约磁盘空间.节约带宽提高传输效率,也利于文件的管理. 常见压缩文件 平台 类型/后缀 Windows .rar .zip .7z Linux .zip .gz .bz2 ...

  6. Linux压缩命令gzip, bzip2和tar

    作者:曾Jerry 或 大橙员, 250359225@qq.com 压缩的目的 在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽 接受者接受文件后,解压即可 Linux常见的 ...

  7. Python数据压缩和存档——zlib/gzip/bzip2/lzma/zip/tar

    Python数据压缩和存档--zlib/gzip/bzip2/lzma/zip/tar 原始文档:https://www.yuque.com/lart/ppqg89/gp3q6t 前言 python ...

  8. gzip bzip2 区别

    gzip bzip2 都是压缩程序,区别是:gzip的速度快一些,而bzip2要压得狠一些. tar是打包程序,这个命令可以在打包的同时调用gzip或者bzip2进行压缩. 一般以.tar.gz结尾的 ...

  9. linux bzip2 压缩目录,Linux下压缩工具的区分-gzip,bzip2,tar

    总说明: gzip,bzip2只能针对一个文件,而tar是打包没有压缩,可以对多个文件及目录,但tar有gzip及bzip2的压缩功能.bzip2是gzip的升级版,压缩比更高. winrar只能gz ...

最新文章

  1. 在Flex3中使用Runtime Shared Library (RSL)
  2. 九度OJ 朋友圈 并查集
  3. findContours函数
  4. jdk1.8 源码分析导图
  5. ping cat.flag.php,关于2020年强网杯-强网先锋-主动的赛题解析
  6. python中key的意思_python中的key是什么意思
  7. php新窗口打开链接,wordpress如何设置在新窗口打开链接
  8. 济源一中2021高考成绩查询,济源一中2019高考成绩喜报、一本二本上线人数情况...
  9. memcached构建高性能web应用
  10. 【第102期】游戏策划:在校生求职简历怎么写?
  11. book_note for《Linux程序设计》chapter3 Linux系统C语言开发工具
  12. 程序猿如何使用清单,高效完成工作
  13. 计算机技术的应用现状,计算机技术的应用现状分析及其发展趋势探究
  14. 2020福建计算机等级考试考点,【图解】2020年福建计算机等级考试考生网报步骤...
  15. 三维立体坐标系 html5,三维坐标系
  16. 实时游戏对战引擎MatchVS,我的对战旅程
  17. 用 Python 做了一个小姐姐跳舞的词云视频
  18. MySQL内置函数中的日期和时间函数详解
  19. 利用CUDA流重叠计算和数据传输
  20. 农民工工地受伤是否就可以申请工伤?

热门文章

  1. hp380g5 安装linux7,hp 380G5 安装centos 7
  2. python document_python-docx 常用方法
  3. ieee期刊_机器人领域主要国际会议与期刊列表
  4. android udt协议,接口和软件包  |  Android 开源项目  |  Android Open Source Project
  5. 代码和mysql服务器编码不一致_PL/SQL Developer教程:解决oracle服务器端和客户端字符编码不一致问题...
  6. linux java api_Java常用API、Math类介绍
  7. ctfshow-网络迷踪-山外有山
  8. unity UI如何开启(显示)或者关闭(隐藏)Panel界面最好?
  9. 非官方构建的 Windows 下的 Atom 编辑器
  10. Workflow相关表简单分析