转载声明

本文系转载自以下两篇文章:

  • 压缩格式gzip/snappy/lzo/bzip2 比较与总结
    作者: zzhongcy

  • Snappy、Lzo、Gzip、Bzip2比较
    作者: 心有余力

转载仅为方便学习查看,一切权利属于原作者,本人只是做了整理和排版,如果带来不便请联系我删除。

摘要

本文对大数据常用的压缩方式GZip, BZip2, LZO, Snappy进行对比。

特性对比

GZip BZip2 LZO Snappy
HadoopCodec类 GzipCodec Bzip2Codec LzopCodec SnappyCodec
算法 Deflate GZip2 LZO Snappy
文件扩展名 .gz .bz2 .lzo .snappy
Hadoop内嵌
可切片
压缩比(测试值) 2 (13.4%) 1 (13.2%) 3 (20.5%) 4 (22.2%)
压缩速率 3 (21MB/S) 4 (2.4MB/S) 2 (135MB/S) 1 (172MB/S)
解压速率 3 (118MB/s) 4 (9.5MB/s) 1 (410MB/s) 2 (409MB/S)
特点 GZip压缩比高,大部分Linux系统自带Gzip命令,Hadoop原生就支持使用很方便;速度较慢,而且不支持切片。 BZip2压缩比最高,但速度实在太慢了 压缩比尚可,速度快,支持切片(需要建立索引,且文件修改后要重建索引,还需将 InputFormat 指定为Lzo)。支持hadoop native库,但不是Hadoop自带,需要自己安装。 压缩比最低,但速度最快,但不支持切片。支持hadoop native库,但不是Hadoop自带,需要自己安装。需要注意的是,实际生产环境中Snappy的表现通常比 LZO 好,应当进行测试对比再决定。
使用场景 如果压缩后大小和Block差不多大可以使用。也适合磁盘不富裕要求压缩比且对压缩时间无特别要求的场景,如异步离线压缩归档,比如HBase写入后的刷盘 适合很老的、极低频使用的历史文件(冷数据)归档 特点是支持切片 实时写入的Hive底层HDFS文件可用LZO方式压缩

压缩选择

  • 需要综合权衡压缩/解压缩数据所需资源如IO/网络贷款/CPU等,以及考虑数据使用场景
  • 如果数据已经压缩(例如 JPEG 格式的图像),则不建议进行压缩。事实上,结果文件实际上可能大于原文件。
  • MR程序需要支持可拆分,一般选LZO;而HBase不需要考虑拆分性。
  • MR程序可选压缩Map中间输出结果、程序整体输出结果等。

Hadoop本地库检测

hadoop checknative

更多好文

  • Lzo压缩详细
    安装、配置、LzoCodec和LzopCodec
  • java中常用的压缩与解压代码和测试
  • Java压缩算法性能比较和代码测试
  • Java压缩算法性能比较和代码测试-知乎补档

大数据-常用压缩方式总结相关推荐

  1. 大数据常用shell脚本之fl脚本

    一.前置准备 CentOS7.jdk1.8.zookeeper-3.5.7.kafka-2.4.1.flume-1.9.0 想要完成本期视频中所有操作,需要以下准备: Flume安装及基本使用-视频教 ...

  2. 大数据常用shell脚本之zk脚本

    一.前置准备 CentOS7.jdk1.8.zookeeper-3.5.7 想要完成本期视频中所有操作,需要以下准备: Zookeeper单机环境和集群环境搭建视频+图文教程 Hadoop完全分布式集 ...

  3. 大数据常用shell脚本之kf脚本

    一.前置准备 CentOS7.jdk1.8.zookeeper-3.5.7.kafka-2.4.1 想要完成本期视频中所有操作,需要以下准备: Kafka集群环境搭建-视频教程 大数据常用shell脚 ...

  4. 大数据常用算法及场景

    大数据常用算法及场景 大数据的挖掘是从海量.不完全的.有噪声的.模糊的.随机的大型数据库中发现隐含在其中有价值的.潜在有用的信息和知识的过程,也是一种决策支持过程.其主要基于人工智能,机器学习,模式学 ...

  5. 《企业大数据系统构建实战:技术、架构、实施与应用》——第3章 企业大数据解决方案 3.1 企业大数据解决方案实现方式...

    本节书摘来自华章计算机<企业大数据系统构建实战:技术.架构.实施与应用>一书中的第3章,第3.1节,作者 吕兆星 郑传峰 宋天龙 杨晓鹏,更多章节内容可以访问云栖社区"华章计算机 ...

  6. 大数据常用的软件工具有哪些?

    众所周知,现如今,大数据越来越受到大家的重视,也逐渐成为各个行业研究的重点.正所谓"工欲善其事必先利其器",大数据想要搞的好,使用的工具必须合格.而大数据行业因为数据量巨大的特点, ...

  7. 【大数据入门笔记系列】第一节 大数据常用组件

    [大数据入门笔记系列]第一节 大数据常用组件 大数据释义 大数据组件 跳转 大数据释义 近些年来,坊间一直流传着这样的言论:"大数据时代,人人都在裸奔".对于外行人来说,对于&qu ...

  8. 大数据常用组件官网地址

    大数据常用组件官网地址 数据采集传输 Flume 官网:https://flume.apache.org/ 下载地址:https://flume.apache.org/download.html Ka ...

  9. 客户资源怎么找:一文带你了解大数据获客方式,不再担心找不到客户资源

    首先任何企业获客,都要开源,多渠道获客,不能仅仅靠一个获客渠道,但是必须有一到两个主流获客渠道.但是现在电话盲打.地推效率太低,互联网广告不仅成本高,获客数量有限,线索质量也越来越差!于是很多特别中小 ...

最新文章

  1. mysql的altertable_mysql 的 alter table 操作性能小提示
  2. SCAPY pcap文件数据分析 python3
  3. Day11多态部分-3
  4. 1、vue 笔记之 组件
  5. Keras过拟合相关解决办法
  6. 如何在延迟后触发一个块,比如-performSelector:withObject:afterDelay:?
  7. 【考研】2020,计算机,考研,划水复习帖
  8. UFLDL 教程学习笔记(二)反向传导算法
  9. 44. 容器的成员函数优先于同名的算法
  10. neo4j中实现关键路径算法
  11. Windows Server 2008 R2 学习笔记——VMware Workstation中服务器(Windows Server 2008 R2)与客户机(Windows 7)的安装
  12. oso kabuwj severe conime 美女病毒 重要文件.exe : 通过移动设备引发的血案...
  13. C1 驾驶证考试科目二考试心得
  14. 科普文——浅析拉卡拉支付安全通道建设
  15. find_element()和find_elements()的区别
  16. C语言链表超简单教程
  17. matlab 相场法,晶体相场法模拟.pdf
  18. 计算机操作系统原理复习笔记——考试版
  19. 热播美剧经典俚语50句完全解析版
  20. 计算机配置排行表,笔记本配置排行榜介绍

热门文章

  1. 时钟门控技术-clock gating
  2. python 视频流分析_视频分析(二):光流(Optical Flow)
  3. lambda表达式创建多线程
  4. 武汉体育学院计算机设计大赛,首届“经管杯”创业设计大赛顺利落幕
  5. gaussian_filter( )函数(高斯滤波)
  6. 【2022团体程序设计天梯赛】GPLT2022,L1~L2部分(PTA,L1-081~L1-088,L2-041~L2-044)题解代码复盘
  7. 鱼c工作室python课件_鱼C工作室Python作业
  8. 企业上云服务商之华山论剑
  9. oracle减小表空间打下,缩小oracle表空间(二)
  10. MP3 Quality Modifier(MP3音质优化)V2.1