精华内容
下载资源
问答
  • Hive常见压缩格式和性能对比

    千次阅读 2019-08-12 06:05:34
    根据我们的实际工作场景,我们要选择合适的压缩格式。 常见的压缩格式如下: 下面是一份源数据1.4G的文件,各类压缩格式的比率和时间对比 数据压缩后大小: 压缩和解压时间: 从上面对比可以看出: 在...

    转载:
    https://blog.csdn.net/qq_32641659/article/details/88997844

    压缩能够减少存储磁盘空间,降低网络IO和磁盘IO,加快数据在磁盘和网络中的传输速度,从而提高系统的处理速度。
    虽然由以上的好处,但是由于使用数据时,需要先将数据解压,加重了CPU负荷。根据我们的实际工作场景,我们要选择合适的压缩格式。

    常见的压缩格式如下:
    在这里插入图片描述
    下面是一份源数据1.4G的文件,各类压缩格式的比率和时间对比
    数据压缩后大小:
    在这里插入图片描述
    压缩和解压时间:
    在这里插入图片描述
    从上面对比可以看出:
    在压缩数据比上:
    Snappy、LZ4、LZO可以压缩到50%左右
    GZIP、BZIP2可以压缩到30%左右

    在压缩和解压时间上:
    Snappy、LZ4、LZO 的压缩时间非常接近,范围6-8秒内;Snappy的解压时间是最高的,是压缩时间的3倍,其次是LZO,LZ4解压时间最低
    GZIP、BZIP2 的压缩和解压时间都非常高。

    总结一句话就是:压缩比率高的,压缩和解压时间花费就比较长。

    那么我们如何选择合适的压缩格式呢?

    Snappy:压缩速度快;支持hadoop native库
            缺点:不支持split;压缩比低;hadoop本身不支持,需要安装;linux系统下没有对应的命令d. 
            
    LZO:压缩/解压速度也比较快,合理的压缩率;支持split,是hadoop中最流行的压缩格式;
        支持hadoop native库;需要在linux系统下自行安装lzop命令,使用方便
    	缺点: 压缩率比gzip要低;
    		   lzo虽然支持split,但需要对lzo文件建索引,否则hadoop也是会把lzo文件看成一个普通文件
    
    GZIP:压缩比较高;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;
    	有hadoop native库;大部分linux系统都自带gzip命令,使用方便
    	缺点: 不支持split
    
    BZIP2 :支持split;具有很高的压缩率,比gzip压缩率都高;
    		hadoop本身支持,但不支持native;在linux系统下自带bzip2命令,使用方便
    		缺点:压缩/解压速度慢;不支持native
    

    压缩使用的场景:

    • 不同的场景选择不同的压缩方式,肯定没有一个一劳永逸的方法,如果选择高压缩比,那么对于cpu的性能要求要高,同时压缩、解压时间耗费也多;选择压缩比低的,对于磁盘io、网络io的时间要多,空间占据要多;对于支持分割的,可以实现并行处理。
    • 冷备份:我们肯定要使用压缩比高的,比如GZIP、BZIP2
    • Map阶段数据落盘通常使用snappy压缩格式(快速压缩解压),reduce阶段数据落盘通常使用gzip或bzip2进行压缩(减少磁盘使用)。
    • 若该压缩格式不支持文件分割,则后续无法实现并行处理,生产优化核心是让每个文件大小略微低于块大小,如块128M怎文文件为125M。未压缩的文件是支持文件分割的
    • 支持native表示,hadoop自己提供了功能的实现,而不是依赖外部,如bzip2是不支持native,则表示不熟的物理机要另行安装支持bzip2压缩的软件。

    假设一个这样的场景:
    在这里插入图片描述
    在整个ETL的过程中数据有三次是落在磁盘上:
    elt源数据:这里重点考虑的是压缩后的文件支持分片,可选 textFile、LZO、bzip2
    MAP输出数据:这里重点考虑数据快速压缩以及解压,直接选snappy
    Reduce输出数据:若输出数据只是为了存储保留,应选压缩比高的(gzip、bzip2),若输出数据为下一个作业的MAP输入,应选择支持分片。

    展开全文
  • Windows了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使 用,不过在Linux使用.zip和.rar的人就太少了 具体总结各类压缩文件之前,首先要 弄清两个下最...

    Windows了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使 用,不过在Linux使用.zip和.rar的人就太少了

     

    具体总结各类压缩文件之前,首先要 弄清两个下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同 概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这 两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另外的工具将这一大堆文件先打 成一个包,然后再就原来的压缩程序进行压缩。

     

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:

    一、Tar命令常用参数详解:

                                                  -c: 建立压缩档案 

                                                  -x:解压

                                                  -t:查看内容

                                                  -r:向压缩归档文件末尾追加文件

                                                  -u:更新原压缩包中的文件

    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

                                                  -z:有gzip属性的

                                                  -j:有bz2属性的

                                                  -Z:有compress属性的

                                                  -v:显示所有过程

                                                  -O:将文件解开到标准输出

    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

    注:对于这个档案名,网上说法不一,依我来看,应该就是指定文件名的意思。

     

    二、Tar命令企业案例演示

    (1)tar     -xvf        jfedu.tar.gz                                                   解压jfedu.tar.gz和jfedu.tar.bz2程序包;

    (2)tar    -czvf       jfedu.tar.gz        jfedu                                 使用gzip格式打包并压缩jfedu目录;

    (3)tar    -cjvf       jfedu.tar.bz2      jfedu                                  使用bzip2格式打包并压缩jfedu目录

    (4)tar    -cvf       jfedu.tar              jfedu         jfedu2 ...          将jfedu和jfedu2打包,打包后名称jfedu.tar,不具备压缩效果;

    (5)tar     -tf         jfedu.tar.gz                                                    查看jfedu.tar.gz包中内容;

    (6)tar     -rf        jfedu.tar.gz       jfedu.txt                               将jfedu.txt文件追加到jfedu.tar.gz中

     

    下面这个压缩格式使用较少,了解即可:

    (7)tar    -cZvf     jfedu.tar.z        jfedu             使用compress格式打包并压缩jfedu目录;

    (8)tar    -xZf       jfedu.tar.z                              解压compress程序包

      以上就是tar的基本用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。例如上图的(2),(3)。

    三、其他压缩或解压缩总结打包:
    (1)对于.gz结尾的文件

    压缩:gzip  -c  FILENAME

    注意:这个压缩会直接把你的文件压缩了,最好使用-c参数保留一下源文件

    解压缩:
    gzip -d all.gz
    gunzip all.gz

    (2)对于.bz2结尾的文件

    压缩:bzip2  -k  FILENAME

    注意:这个压缩会直接把你的文件压缩了,最好使用-k参数保留一下源文件

    解压缩:
    bzip2 -d all.bz2
    bunzip2 all.bz2
    (3)对于.Z结尾的文件

    解压缩:
    uncompress all.Z

    一般不推荐使用这个压缩,若遇到,会解压即可!


    四、另外对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们
    1、对于.zip
    linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
    (1)zip     all.zip             *.jpg

    指定包名       需要压缩的文件

    释义:这条命令是将所有.jpg的文件压缩成一个zip包

          注意:如果要压缩的是个文件夹,则要加上-r参数,表示调用递归压缩,如:

          (2) zip  -r   temp.zip   temp

         (3)unzip   all.zip
      这条命令是将all.zip压缩包中的所有文件解压出来

    2、对于.rar
      要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux
    不是免费的;然后安装:
    # tar -xzpvf rarlinux-3.2.0.tar.gz
    # cd rar
    # make
      这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
    # rar a all *.jpg
      这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。
    # unrar e all.rar
      这条命令是将all.rar中的所有文件解压出来

     

    问题  .tar文件到底是压缩文件还是打包文件?

    答:打包文件,并没有压缩。


     到此为至,我们已经介绍过linux下的gzip、gunzip、bzip2、bunzip2、compress、uncompress、 zip、unzip、rar、unrar等程式,你应该已经能够使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar这10种压缩文件进行解压了,以后应该不需要为下载了一个软件而不知道如何在Linux下解开而烦恼了。而且以上方法对于Unix也基本有效。
      本文介绍了linux下的压缩程式gzip、gunzip、bzip2、bunzip2、 compress、uncompress、zip、unzip、rar、unrar等程式,以及如何使用它们对.tar、.gz、.tar.gz、. tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行操作。

     

    展开全文
  • 存储: 1 TextFile ...默认格式; 存储方式为行存储; 磁盘开销大 数据解析开销大; 但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。 SequenceFile 二进制文件,以<key,va...

    存储:

    1    TextFile
    2    SequenceFile
    3    RCFile
    4    OrcFile
    5    Parquet
    6   Avro

    6种性能测试
    textfile
    默认格式;
    存储方式为行存储;
    磁盘开销大 数据解析开销大;
    但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。

    SequenceFile
    二进制文件,以<key,value>的形式序列化到文件中;
    存储方式:行存储;
    可分割 压缩;
    一般选择block压缩;
    优势是文件和Hadoop api中的mapfile是相互兼容的

    refile
    存储方式:数据按行分块 每块按照列存储;
    压缩快 快速列存取;
    读记录尽量涉及到的block最少;
    读取需要的列只需要读取每个row group 的头部定义;
    读取全量数据的操作 性能可能比sequencefile没有明显的优势,

    orcfile
    存储方式:数据按行分块 每块按照列存储;
    压缩快 快速列存取;
    效率比rcfile高,是rcfile的改良版本

    parquet 
    类似于orc,相对于orc文件格式,hadoop生态系统中大部分工程都支持parquet文件。

    Avro
    Avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。
    它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,
    Avro提供的机制使动态语言可以方便地处理Avro数据。


    压缩比:ORC >  Parquet >  (RCfile|Avro|Sequencefile 三者压缩差不多) >textFile(textfile没有进行压缩,默认)

    查询速度:ORC > Parquet > RCFile > SequenceFile > Avro > TextFile

    Hive压缩比较

    Default
    gzip
    zip
    bzip2
    lzo
    ZLip
    Snappy

    开发过程中一般使用orc,Parquet存储和snappy压缩,

    orc默认使用了ZLIP压缩
    zlip跟snappy比较
    GZIP    13.4%    21 MB/s    118 MB/s
    LZO    20.5%    135 MB/s    410 MB/s
    Zippy/Snappy    22.2%    172 MB/s    409 MB/s

    总结

    ZLIP压缩最后的文件存储低,但是压缩效率较Snappy低太多了.
    ZLIP压缩率高,缺点压缩过程很慢
    Snappy压缩率相对Zlip低一些,但是比其他高很多了,压缩过程也很快.


     

    展开全文
  • 大数据常见压缩格式以及性能对比

    千次阅读 2019-04-06 23:26:58
    1. 压缩的好处和坏处 好处 ...2. 常见压缩格式分析 压缩格式 压缩比 压缩时间 a. gzip 优点: 压缩比在四种压缩方式中较高;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一...

    1. 压缩的好处和坏处

    好处

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

    坏处

    • 由于使用数据时,需要先将数据解压,加重CPU负荷

    2. 常见压缩格式分析

    压缩格式
    压缩格式
    压缩比
    在这里插入图片描述压缩时间
    在这里插入图片描述
    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. 
    

    d.bzip2

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

    总结:

    • 不同的场景选择不同的压缩方式,肯定没有一个一劳永逸的方法,如果选择高压缩比,那么对于cpu的性能要求要高,同时压缩、解压时间耗费也多;选择压缩比低的,对于磁盘io、网络io的时间要多,空间占据要多;对于支持分割的,可以实现并行处理。
    • 生产中,Map阶段数据落盘通常使用snappy压缩格式(快速压缩解压),reduce阶段数据落盘通常使用gzip或bzip2进行压缩(减少磁盘使用)。
    • 若该压缩格式不支持文件分割,则后续无法实现并行处理,生产优化核心是让每个文件大小略微低于块大小,如块128M怎文文件为125M。未压缩的文件是支持文件分割的
    • 支持native表示,hadoop自己提供了功能的实现,而不是依赖外部,如bzip2是不支持native,则表示不熟的物理机要另行安装支持bzip2压缩的软件。
    展开全文
  • TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的;并且SEQUENCEFILE是存储为二进制文件 ORC和PARQUET是基于列式存储的 行列混合存储的RCFile,该存储结构遵循的是“先水平划分,再垂直划分”的设计理念。先将...
  • 众所周知,大数据有两种存储格式:行存储、列存储,下面我们就来比较一下这两种存储格式区别。首先来看一下两种格式的数据排列方式: 行存储数据排列 列存储数据排列 性能比较 两种存储格式都有各自的优缺点:行...
  • HADOOP与HDFS数据压缩格式

    千次阅读 2018-10-17 18:20:11
    HADOOP与HDFS数据压缩格式 1、cloudera 数据压缩的一般准则 一般准则 是否压缩数据以及使用何种压缩格式对性能具有重要的影响。在数据压缩上,需要考虑的最重要的两个方面是 MapReduce 作业和存储在 HBase 中的...
  • 常用纹理和纹理压缩格式

    万次阅读 2015-04-10 18:56:54
    常用纹理和纹理压缩格式的介绍:RGB/RGBA,DXT1/DXT5、ETC、PVRTC等。
  • hive 压缩格式汇总

    千次阅读 2019-03-01 16:31:32
    今天,看了几篇hive压缩格式相关的博客觉得不错,在这里做一下提取要点汇总。 0 前言 数据做压缩和解压缩会增加CPU的开销,但可以最大程度的减少文件所需的磁盘空间和网络I/O的开销,所以最好对那些I/O密集型的...
  • Mac OS X系统自带的压缩格式

    千次阅读 2017-08-29 17:35:14
    Mac OS X自带压缩功能的格式与windows的压缩格式是不同的,Mac OS X系统自带的压缩程序对zip文件名用UTF-8编码,但是zip文件头中没有生命PKZIP高版本增加的Unicode位。Windows会认为文件名是ANSI编码,结果显示...
  • 图片格式 不同格式的本质区别在于压缩...Png等图片压缩格式无法直接被GPU解码,需要先解压,便会造成消耗。 不论导入的图片是什么格式,Unity都会将其转换成纹理格式,便于GPU读取。(应该算解压成原始格式吧) 有R...
  • 4种压缩格式的特征的比较 [img]http://dl2.iteye.com/upload/attachment/0122/5101/9cded9d1-5223-3c77-8803-81302895f804.png[/img]
  • DXT纹理压缩格式解析

    万次阅读 2015-12-05 15:56:13
    我们知道游戏中对于3D物体表面细节... 所以各个平台上都在使用纹理压缩的技术,让纹理贴图在内存占用和显示效果能达到一个尽可能的平衡。在DirectX中,使用一种叫做DXT的纹理压缩技术,目前这种技术被大部分显卡所支持
  • 2.纹理格式与文件格式区别 3.常见的纹理格式和应用场合及硬件的特定要求 常见的压缩纹理格式 硬件需求 4.压缩纹理特殊处理 RGBA16 + Dithering 处理 ETC1的通道剥离 ETC1的shader 5.图片大对比 质量比 内存...
  • 压缩是通过 特定的算法来减少机算机对文件的大小机制,可以减少 Bytes 对吧、 有很多的公司 对 存储的数据,都是用压缩包的形式,很少会用到数据库,的一个朋友 ,新跳了一家公司 分配好项目之后,没想到,发来的 ...
  • HIVE 文件格式与压缩格式 一: mapreduce 的压缩 mapreduce 压缩 主要是在shuffle阶段的优化。 shuffle 端的 –partition (分区) – sort (排序) – combine (合并) – compress (压缩) – group (分组) 在...
  • 压缩感知原理简介

    万次阅读 多人点赞 2019-07-15 21:51:23
    压缩感知,compressed sensing又称compressed sampling,是在采样过程中完成了数据压缩的过程。 压缩感知在信号采样的过程中,用很少的采样点,实现了和全采样一样的效果。 信号采样 学过通信原理或信号与系统的都...
  • hadoop中4种压缩格式的特征的比较

    千次阅读 2017-03-16 10:50:43
    1 gzip压缩 优点:压缩率比较高,而且压缩/解压速度也比较快;...应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格式。譬如说一天或者一个小时的日志压缩成一个gzip 文件
  • 目前在Hadoop中常用的几种压缩格式:lzo,gzip,snappy,bzip2,主要特性对比如下: 压缩格式 codec类 算法 扩展名 多文件 splitable native 工具 hadoop自带 deflate DeflateCodec ...
  • 数据做压缩和解压缩总会增加CPU的开销,但可以最大程度的减少文件所需的磁盘空间和网络I/O的开销 最好对那些I/O密集型的作业使用数据压缩 hive表的存储格式为  TEXTFILE  SEQUENCEFILE(三种压缩选择:NONE, ...
  • 压缩文件的格式zip和rar有什么区别? 1. 什么是压缩文件? 简单的说,就是经过压缩软件压缩的文件叫压缩文件,压缩的原理是把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,...
  • UNITY3D 贴图格式压缩说明

    千次阅读 2016-06-24 19:21:21
    UNITY3D 贴图格式压缩说明关于压缩后的在储存上的大小,假设高清(ARGB32)大小为1,那么大概数据如下:RGB PVRTC 4BITS:0.25ARGB PVRTC 4BITS:0.25RGB PVRTC 2BITS:0.13ARGB PVRTC 2BITS:0.13RGBA ETC2 4BITS:0.25...
  • 一、7z 文件压缩格式简介、 二、7z 命令使用说明、 1、压缩命令、 2、解压命令、 三、7z 命令示例、 1、配置 7z 命令环境变量、 2、压缩、 3、解压缩、 四、参考资料、
  • 压缩文件RAR和ZIP的区别

    千次阅读 2018-12-20 09:42:28
    RAR和ZIP是两种不同的压缩格式,它们使用是不同的压缩算法。 ZIP是公开且免费的,很早就有了,可以用于任何用途。RAR是私有的,申请了专利,不公开算法细节,是近年才出来的算法,压缩率比ZIP低,也就是说同一个...
  • bmp 格式 与jpg 格式区别

    千次阅读 2018-11-20 15:42:22
    BMP: 优点 无损压缩,图质最好,缺点(文件太大,不利于网络传输)。 GIF:优点(动画存储格式),缺点(最多256色,画质差)。 PNG:优点(可保存透明背景的图片),缺点(画质中等) JPG:优点(文件小,利于...
  • 压缩文件格式.RAR和Zip的详细区别

    千次阅读 2013-12-23 17:28:58
    一、目录表(TOC)与分卷(Volume)抛开压缩算法不谈,我认为zip、rar在文件格式上最大的差异就在目录表(Table of Contents,TOC):zip有TOC,而rar没有。TOC这个词其实是从出版界借用过来的,指的就是每一本书...
  • zlib,gzip,zip,7z压缩区别

    万次阅读 2014-10-14 09:20:48
    gzip是一种文件压缩工具(或该压缩工具产生的压缩文件格式),它的设计目标是处理单个的文件。gzip在压缩文件中的数据时使用的就是zlib。为了保存与文件属性有关的信息,gzip需要在压缩文件(*.gz)中保存更多的头...
  • 默认格式,数据不做压缩,磁盘开销大,数据解析开销大。可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。 创建表,存储数据格式为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 139,063
精华内容 55,625
关键字:

压缩格式的区别