Hadoop数据压缩技术
一、Hadoop数据压缩及其优缺点
1、压缩技术的好处与坏处
好处:
- 减少存储磁盘空间
- 降低IO(网络的IO和磁盘的IO)
- 加快数据在磁盘和网络中的传输速度,从而提高系统的处理速度。
坏处:
- 由于使用数据时,需要先将数据解压,加重了CPU的负荷。
使用压缩的基本原则:
- 运算密集型的job,少用压缩
- IO密集型的job,多用压缩
2、压缩格式
压缩格式 | Hadoop自带 | 算法 | 文件扩展名 | 是否可以切分 | 工具 | Hadoop编码/解码器 |
Default | 是,直接使用 | Default | .deflate | 否 | N/A | org.apache.hadoop.io.compress.DefaultCodec |
Gzip | 是,直接使用 | Default | .gz | 否 | gzip | org.apache.hadoop.io.compress.GzipCodec |
bzip | 是,直接使用 | bzip2 | .bz2 | 是 | bzip2 | org.apache.hadoop.io.compress.BZip2Codec |
LZO | 否,需要安装 | LZO | .lzo | 是 | Lzop | com.hadoop.compression.lzo.LzopCodec |
LZ4 | 否,需要安装 | lZ4 | .lz4 | 否 | N/A | com.hadoop.compression.lzo.Lz4Codec |
Snappy | 否,需要安装 | Snappy |
.snappy |
否 | N/A | org.apache.hadoop.io.compress.SnappyCodec |
3、优缺点
压缩格式 | 优点 | 缺点 |
gzip |
压缩比在四种压缩方式中比较高;hadoop本身支持,在应用中处理gizp格式的文件和直接处理文本一样;有hadoop native库,大部分linux系统都自带gzip命令,使用方便。 |
不支持split |
lzo | 压缩/解压速度也比加快,合理 的压缩率;支持split,是hadoop中最流行的压缩格式,支持hadoop native库;需要在linux系统下自行安装lzop命令,使用方便 | 压缩率比gizp要低;hadoop本身不支持,需要安装;lzo虽然支持split,但需要对lzo文件建索引,否则hadoop也是会把lzo文件看成一个普通文件(为了支持split需要建索引,需要指定inputformat为lzo格式) |
snappy | 压缩速度快;支持hadoop native库 | 不支持split;压缩比低;hadoop本身不支持,需要安装;linux系统下没有对应的命令d.bzip2 |
bzip2 | 支持split;具有很高的压缩率,比gzip压缩率都高;hadoop本身支持,但不支持native;在linux系统自带bzip2命令,使用方便 | 压缩/解压速度慢;不支持native |
二、总结
1、不同的场景选择不同的压缩方式,如果选择高压缩比,那么对于cpu的性能要求要高,同事压缩/解压耗时也长;
2、选择压缩比低,对于磁盘Io、网络IO的时间要多,空间占据要多;对于支持分割的,可以实现并行处理。
应用场景:一般用在HDFS、Hive、HBase中会使用,一般较多的是结合Spark来一起使用。
Hadoop数据压缩技术的更多相关文章
- Hadoop(八)Hadoop数据压缩与企业级优化
一 Hadoop数据压缩 1.1 概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数.压缩提高了网络带宽和磁盘空间的效率.在Hadood下,尤其是数据规模很大和工作负载密集的情况下,使用数据 ...
- Hadoop笔记——技术点汇总
目录 · 概况 · Hadoop · 云计算 · 大数据 · 数据挖掘 · 手工搭建集群 · 引言 · 配置机器名 · 调整时间 · 创建用户 · 安装JDK · 配置文件 · 启动与测试 · Clo ...
- Hadoop记录-技术网站
Grafan监控:http://docs.grafana.org/ Tez:http://tez.apache.org/install.html 阿里巴巴镜像:https://opsx.alibaba ...
- 大数据项目相关技术栈(Hadoop周边技术)
J2EE 框架Spring 开发框架 + SSH or SSM Lucene 索引和查询IKAnalyzer 分词Webmagic 爬虫 ETL工具:KettleSqoop 结构化数据库-hadoop ...
- hadoop行业技术创新解决方案
如今有很多公司都在努力挖掘他们拥有的大量数据,包括结构化.非结构化.半结构化以及二进制数据等,来探索对数据的深入利用. 大多数公司估计他们只分析了已有数据的12%,剩余88%还没有被充分利用.大量的数 ...
- Hadoop生态圈技术图谱
当下Hadoop已经成长为一个庞大的体系,貌似只要和海量数据相关的,没有哪个领域缺少Hadoop的身影,下面是一个Hadoop生态系统的图谱,详细的列举了在Hadoop这个生态系统中出现的各种数据工具 ...
- MapReduce 规划 系列的12 使用Hadoop Streaming技术集成newLISP文字
本文example6环境与前Hadoop 1.x异,于Hadoop 2.x环境测试. 功能与前面相同的日志处理程序. 第一newLISP文字,游玩mapper任务.于stdin读取文本数据,将did由 ...
- Hadoop(22)-Hadoop数据压缩
1.压缩概述 2.压缩策略和原则 3.MapReduce支持的压缩编码 64位系统下的单核i7,Snappy的压缩速率可以达到至少250MB/S,解压缩速率可以达到至少500MB/S 4.压缩方式选择 ...
- about云Hadoop相关技术总结
让你真正明白spark streaminghttp://www.aboutyun.com/forum.php?mod=viewthread&tid=21141(出处: about云开发)
随机推荐
- @override编译报错
今天突然遇到一个问题,明明我重写的接口的方法,编译的时候一直报@override is not override a method from superclass,查了一下资料,这个@override ...
- Python学习第十九课——类的装饰器
类的装饰器 # def deco(func): # print('==========') # return func # # # @deco #test=deco(test) # # def tes ...
- HDU 5565:Clarke and baton
Clarke and baton Accepts: 14 Submissions: 79 Time Limit: 12000/6000 MS (Java/Others) Memory Limi ...
- Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)D(树状数组)
//树状数组中数组的特性,有更巧妙的方法.//我们知道在树状数组中,对于数组tree[i],它所维护的区间为[i−lowbit(i)+1,i]//所以对于tree[2^i],它所维护的区间就为[1,2 ...
- SD-WAN基本介绍
SD-WAN是什么? SD-WAN,即软件定义广域网络,是将SDN技术应用到广域网场景中所形成的一种服务.这种服务用于连接广阔地理范围的企业网络.数据中心.互联网应用及云服务,旨在帮助用户降低广域网的 ...
- 「luogu1613」跑路
传送门 Luogu 解题思路 对于所有可以用 \(2^k\) 形式表示的 \(dis(i,j)\),将\(i,j\)之间的 \(dis\) 置为 \(1\),可以用倍增 \(\text{Floyd}\ ...
- 142、Java内部类之在普通方法里面定义内部类
01.代码如下: package TIANPAN; class Outer { // 外部类 private String msg = "Hello World !"; publi ...
- eclispe+maven+ssm+sql_server/mysql配置
链接: https://pan.baidu.com/s/1_BFI8XfS8l89-3-1IjlVZg 密码: x9in
- 银行输入密码五次次数限制python程序实现
python银行输入密码五次次数限制程序实现,主要在于对于异常情况的处理语句的编写,需要使用while循环语句和try和except异常处理语句的复合编写语句n=0while n<5: try: ...
- hdu 1599 find the mincost route floyd求无向图最小环
find the mincost route Time Limit: 1000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...