大数据-常用压缩方式总结
转载声明
本文系转载自以下两篇文章:
压缩格式gzip/snappy/lzo/bzip2 比较与总结
作者: zzhongcySnappy、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压缩算法性能比较和代码测试-知乎补档
大数据-常用压缩方式总结相关推荐
- 大数据常用shell脚本之fl脚本
一.前置准备 CentOS7.jdk1.8.zookeeper-3.5.7.kafka-2.4.1.flume-1.9.0 想要完成本期视频中所有操作,需要以下准备: Flume安装及基本使用-视频教 ...
- 大数据常用shell脚本之zk脚本
一.前置准备 CentOS7.jdk1.8.zookeeper-3.5.7 想要完成本期视频中所有操作,需要以下准备: Zookeeper单机环境和集群环境搭建视频+图文教程 Hadoop完全分布式集 ...
- 大数据常用shell脚本之kf脚本
一.前置准备 CentOS7.jdk1.8.zookeeper-3.5.7.kafka-2.4.1 想要完成本期视频中所有操作,需要以下准备: Kafka集群环境搭建-视频教程 大数据常用shell脚 ...
- 大数据常用算法及场景
大数据常用算法及场景 大数据的挖掘是从海量.不完全的.有噪声的.模糊的.随机的大型数据库中发现隐含在其中有价值的.潜在有用的信息和知识的过程,也是一种决策支持过程.其主要基于人工智能,机器学习,模式学 ...
- 《企业大数据系统构建实战:技术、架构、实施与应用》——第3章 企业大数据解决方案 3.1 企业大数据解决方案实现方式...
本节书摘来自华章计算机<企业大数据系统构建实战:技术.架构.实施与应用>一书中的第3章,第3.1节,作者 吕兆星 郑传峰 宋天龙 杨晓鹏,更多章节内容可以访问云栖社区"华章计算机 ...
- 大数据常用的软件工具有哪些?
众所周知,现如今,大数据越来越受到大家的重视,也逐渐成为各个行业研究的重点.正所谓"工欲善其事必先利其器",大数据想要搞的好,使用的工具必须合格.而大数据行业因为数据量巨大的特点, ...
- 【大数据入门笔记系列】第一节 大数据常用组件
[大数据入门笔记系列]第一节 大数据常用组件 大数据释义 大数据组件 跳转 大数据释义 近些年来,坊间一直流传着这样的言论:"大数据时代,人人都在裸奔".对于外行人来说,对于&qu ...
- 大数据常用组件官网地址
大数据常用组件官网地址 数据采集传输 Flume 官网:https://flume.apache.org/ 下载地址:https://flume.apache.org/download.html Ka ...
- 客户资源怎么找:一文带你了解大数据获客方式,不再担心找不到客户资源
首先任何企业获客,都要开源,多渠道获客,不能仅仅靠一个获客渠道,但是必须有一到两个主流获客渠道.但是现在电话盲打.地推效率太低,互联网广告不仅成本高,获客数量有限,线索质量也越来越差!于是很多特别中小 ...
最新文章
- mysql的altertable_mysql 的 alter table 操作性能小提示
- SCAPY pcap文件数据分析 python3
- Day11多态部分-3
- 1、vue 笔记之 组件
- Keras过拟合相关解决办法
- 如何在延迟后触发一个块,比如-performSelector:withObject:afterDelay:?
- 【考研】2020,计算机,考研,划水复习帖
- UFLDL 教程学习笔记(二)反向传导算法
- 44. 容器的成员函数优先于同名的算法
- neo4j中实现关键路径算法
- Windows Server 2008 R2 学习笔记——VMware Workstation中服务器(Windows Server 2008 R2)与客户机(Windows 7)的安装
- oso kabuwj severe conime 美女病毒 重要文件.exe : 通过移动设备引发的血案...
- C1 驾驶证考试科目二考试心得
- 科普文——浅析拉卡拉支付安全通道建设
- find_element()和find_elements()的区别
- C语言链表超简单教程
- matlab 相场法,晶体相场法模拟.pdf
- 计算机操作系统原理复习笔记——考试版
- 热播美剧经典俚语50句完全解析版
- 计算机配置排行表,笔记本配置排行榜介绍
热门文章
- 时钟门控技术-clock gating
- python 视频流分析_视频分析(二):光流(Optical Flow)
- lambda表达式创建多线程
- 武汉体育学院计算机设计大赛,首届“经管杯”创业设计大赛顺利落幕
- gaussian_filter( )函数(高斯滤波)
- 【2022团体程序设计天梯赛】GPLT2022,L1~L2部分(PTA,L1-081~L1-088,L2-041~L2-044)题解代码复盘
- 鱼c工作室python课件_鱼C工作室Python作业
- 企业上云服务商之华山论剑
- oracle减小表空间打下,缩小oracle表空间(二)
- MP3 Quality Modifier(MP3音质优化)V2.1