您当前的位置:首页 > 互联网百科 > 大数据

Hadoop之常见压缩格式以及性能对比

时间:2019-11-07 10:30:48  来源:  作者:

为什么会出现需要对文件进行压缩?

在Hadoop中,文件需要存储、传输、读取磁盘、写入磁盘等等操作,而文件的大小,直接决定了这些这些操作的速度。

1、压缩的好处和坏处

好处

  • 减少存储磁盘空间
  • 降低IO(网络的IO和磁盘的IO)
  • 加快数据在磁盘和网络中的传输速度,从而提高系统的处理速度

坏处

  • 由于使用数据时,需要先将数据解压,加重CPU负荷。而且压缩的越狠,耗费的时间越多。

2、压缩格式

Hadoop之常见压缩格式以及性能对比

 

支持native表示,hadoop自己提供了功能的实现,而不是依赖外部,如bzip2是不支持native,则表示物理机要另行安装支持bzip2压缩的软件。

3、压缩测试

一个简单的案例对于集中压缩方式之间的压缩比和压缩速度进行一个感观性的认识

压缩比

Hadoop之常见压缩格式以及性能对比

 

压缩时间/解压时间

Hadoop之常见压缩格式以及性能对比

 

可以看出,压缩比越高,压缩时间越长,压缩比:SnAppy<LZ4<LZO<GZIP<BZIP2

4、优缺点

a. gzip

优点:压缩比在四种压缩方式中较高;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统都自带gzip命令,使用方便

缺点:不支持split

b. lzo

优点:压缩/解压速度也比较快,合理的压缩率;支持split,是hadoop中最流行的压缩格式;支持hadoop native库;需要在linux系统下自行安装lzop命令,使用方便

缺点:压缩率比gzip要低;hadoop本身不支持,需要安装;lzo虽然支持split,但需要对lzo文件建索引,否则hadoop也是会把lzo文件看成一个普通文件(为了支持split需要建索引,需要指定inputformat为lzo格式)

c. snappy

优点:压缩速度快;支持hadoop native库

缺点:不支持split;压缩比低;hadoop本身不支持,需要安装;linux系统下没有对应的命令

d. bzip2

优点:支持split;具有很高的压缩率,比gzip压缩率都高;hadoop本身支持,但不支持native;在linux系统下自带bzip2命令,使用方便

缺点:压缩/解压速度慢;不支持native

5、图解MapReduce

Hadoop之常见压缩格式以及性能对比

 

  1. 第一次传入压缩文件,应选用可以切片的压缩方式,否则整个文件将只有一个Map执行。Use Compressd Map Input:从HDFS中读取文件进行Mapreuce作业,如果数据很大,可以使用压缩并且选择支持分片的压缩方式(Bzip2,LZO),可以实现并行处理,提高效率,减少磁盘读取时间,同时选择合适的存储格式例如Sequence Files,RC,ORC等。
  2. 第二次压缩应选择压缩解压速度快的压缩方式,生产中,Map阶段数据落盘通常使用snappy压缩格式(快速压缩解压)。Compress Intermediate Data:Map输出作为Reducer的输入,需要经过shuffle这一过程,需要把数据读取到一个环形缓冲区,然后读取到本地磁盘,所以选择压缩可以减少了存储文件所占空间,提升了数据传输速率,建议使用压缩速度快的压缩方式,例如Snappy和LZO。
  3. 第三次压缩有两种场景分别是:一.当输出文件为下一个job的输入,选择可切分的压缩方式例如:BZip2。二.当输出文件直接存到HDFS,作为归档,选择压缩比高的压缩方式。reduce阶段数据落盘通常使用gzip或bzip2进行压缩(减少磁盘使用)。Compress Reducer Output:进行归档处理或者链接Mapreduce的工作(该作业的输出作为下个作业的输入),压缩可以减少了存储文件所占空间,提升了数据传输速率,如果作为归档处理,可以采用高的压缩比(Gzip,Bzip2),如果作为下个作业的输入,考虑是否要分片进行选择。

6、总结

不同的场景选择不同的压缩方式,肯定没有一个一劳永逸的方法,如果选择高压缩比,那么对于cpu的性能要求要高,同时压缩、解压时间耗费也多;选择压缩比低的,对于磁盘io、网络io的时间要多,空间占据要多;对于支持分割的,可以实现并行处理。

☆若该压缩格式不支持文件分割,则后续无法实现并行处理,生产优化核心是让每个文件大小略微低于块大小,如块128M文件怎样为125M。未压缩的文件是支持文件分割的

7、应用场景

一般在HDFS 、Hive、HBase中会使用;

当然一般较多的是结合Spark 来一起使用。



Tags:Hadoop   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
查看当前目录信息 hadoop fs -ls /上传文件 hadoop fs -put /本地路径 /hdfs路径剪切文件 hadoop fs -moveFromLocal a.txt /aa.txt下载文件到本地 hadoop fs -get /hdfs路...【详细内容】
2021-07-04  Tags: Hadoop  点击:(75)  评论:(0)  加入收藏
一、SMP数据库架构SMP(对称多处理器结构,Symmetric Multi-Processor)数据库架构部署成本相对较低,可以运行从大型服务器到中型商用硬件的各种设备。它在提供合理的性能和吞吐量...【详细内容】
2020-12-01  Tags: Hadoop  点击:(536)  评论:(0)  加入收藏
一、MapReduce概述1、基本概念Hadoop核心组件之一:分布式计算的方案MapReduce,是一种编程模型,用于大规模数据集的并行运算,其中Map(映射)和Reduce(归约)。MapReduce既是一个编程模...【详细内容】
2020-11-23  Tags: Hadoop  点击:(136)  评论:(0)  加入收藏
将 MySQL 的数据导入到 HDFS 中/usr/local/service/sqoop/bin/sqoop-import \--connect jdbc:mysql://$mysqlIP/test \--username root \-P --table sqoop_test \-m 4 \--...【详细内容】
2020-10-21  Tags: Hadoop  点击:(163)  评论:(0)  加入收藏
一、存储机制1、基础描述NameNode运行时元数据需要存放在内存中,同时在磁盘中备份元数据的fsImage,当元数据有更新或者添加元数据时,修改内存中的元数据会把操作记录追加到edit...【详细内容】
2020-10-12  Tags: Hadoop  点击:(70)  评论:(0)  加入收藏
本章大纲4.1 HDFS写数据流程4.1.1 剖析文件写入HDFS写数据流程,如图所示。HDFS写数据流程1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文...【详细内容】
2020-06-26  Tags: Hadoop  点击:(80)  评论:(0)  加入收藏
> Photo by Mr Cup / Fabien Barral on Unsplash 随着技术的快速变化,越来越多的数据一直在生成。据最新的全球数据领域估计,到2025年,全世界产生的数据量将增长到175 ZB。公...【详细内容】
2020-05-21  Tags: Hadoop  点击:(119)  评论:(0)  加入收藏
几周前,我写了一篇有关Hadoop的文章,并谈到了它的不同部分。 以及它如何在数据工程中扮演重要角色。 在本文中,我将总结Hadoop中不同的文件格式。 本主题将是一个简短而快速...【详细内容】
2020-04-27  Tags: Hadoop  点击:(75)  评论:(0)  加入收藏
本文的目的是讨论Hadoop 3.0的优缺点。随着Hadoop 3.0中引入了许多更改,它已成为更好的产品。Hadoop 3的主要优缺点Hadoop旨在存储和管理大量数据。Hadoop有许多优点,例如,它是...【详细内容】
2019-12-20  Tags: Hadoop  点击:(95)  评论:(0)  加入收藏
1. Spark是什么?Spark,是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等。Spark包含了大数据领域常见的各种计算框架:比...【详细内容】
2019-12-11  Tags: Hadoop  点击:(118)  评论:(0)  加入收藏
▌简易百科推荐
前言什么是数据脱敏数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护常用脱敏规则替换、重排、加密、截断、掩码良好的数据脱敏实施1、尽...【详细内容】
2021-12-28  linyb极客之路    Tags:数据脱敏   点击:(4)  评论:(0)  加入收藏
张欣安科瑞电气股份有限公司 上海嘉定 201801 摘要:随着电力行业各系统接入,海量数据涌现,如何利用电网信息化中大量数据,对客户需求进行判断分析,服务于营销链条,提升企业市场竞...【详细内容】
2021-12-14  安科瑞张欣    Tags:大数据   点击:(10)  评论:(0)  加入收藏
1、什么是数据分析结合分析工具,运用数据分析思维,分析庞杂数据信息,为业务赋能。 2、数据分析师工作的核心流程:(1)界定问题:明确具体问题是什么;●what 发生了什么(是什么)●why 为...【详细内容】
2021-12-01  逆风北极光    Tags:大数据   点击:(26)  评论:(0)  加入收藏
在实际工作中,我们经常需要整理各个业务部门发来的数据。不仅分散,而且数据量大、格式多。单是从不同地方汇总整理这些原始数据就花了大量的时间,更不用说还要把有效的数据收集...【详细内容】
2021-11-30  百数    Tags:数据   点击:(21)  评论:(0)  加入收藏
数据作为新的生产要素,其蕴含的价值日益凸显,而安全问题却愈发突出。密码技术,是实现数据安全最经济、最有效、最可靠的手段,对数据进行加密,并结合有效的密钥保护手段,可在开放环...【详细内容】
2021-11-26  炼石网络    Tags:数据存储   点击:(17)  评论:(0)  加入收藏
导读:网易大数据平台的底层数据查询引擎,选用了Impala作为OLAP查询引擎,不但支撑了网易大数据的交互式查询与自助分析,还为外部客户提供了商业化的产品与服务。今天将为大家分享...【详细内容】
2021-11-26  DataFunTalk    Tags:大数据   点击:(15)  评论:(0)  加入收藏
导读:数据挖掘是一种发现知识的手段。数据挖掘要求数据分析师通过合理的方法,从数据中获取与挖掘项目相关的知识。作者:赵仁乾 田建中 叶本华 常国珍来源:华章科技数据挖掘是一...【详细内容】
2021-11-23  华章科技  今日头条  Tags:数据挖掘   点击:(20)  评论:(0)  加入收藏
今天再给大家分享一个不错的可视化大屏分析平台模板DataColour。 data-colour 可视化分析平台采用前后端分离模式,后端架构设计采用微服务架构模式。 前端技术:Angularjs、Jq...【详细内容】
2021-11-04  web前端进阶    Tags:DashboardClient   点击:(40)  评论:(0)  加入收藏
在Kubernetes已经成了事实上的容器编排标准之下,微服务的部署变得非常容易。但随着微服务规模的扩大,服务治理带来的挑战也会越来越大。在这样的背景下出现了服务可观测性(obs...【详细内容】
2021-11-02  大数据推荐杂谈    Tags:Prometheus   点击:(40)  评论:(0)  加入收藏
同一产品对老客户的要价竟然比新客户要高?这是当下“大数据杀熟”的直接结果。近年来,随着平台经济的蓬勃发展,大数据在为用户服务之外,也引发了多种不合理现象。为了有效遏制“...【详细内容】
2021-10-29    海外网   Tags:大数据   点击:(31)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条