• Hadoop 压缩


    压缩的好处

      文件压缩的好处:减少文件存储锁需要的磁盘空间,加速数据在网络和磁盘上的传输。

    常见的压缩格式

    压缩格式    工具      算法      文件扩展名      是否可以切分

    DELATE    无       DEFLATE       .delate        否

    Gzip      gzip      DEFLATE    .gz          否

    bzip2     bzip2      bzip2      .bz2          是

    LZO      lzop      lzo       .lzo          否

    LZ4      无       LZ4       .lz4         否

    Snappy    无       Snappy      .snappy      否

    选择压缩算法的时候需要考虑到时间和空间,如果要想压缩个解压速度快,那么必定会牺牲空间为代价,在使用压缩的时候,可以通过使用选项来选择是优化速度还是优化空间,例如,gzip算法,使用-1选项表示优化时间,使用 -9 表示节省空间。  gzip -1 test.txt

    压缩和解压缩的算法代码

    如果需要使用上述的其他压缩和解压缩算法,可以zai core-siye.xml文件定义 io.compression.codecs  属性

    MapReduce中使用压缩

    reduce端

    修改mapred-site.xml文件

    mapreduce.output.fileoutputformat.compress  设置为true

    mapreduce.output.fileoutputformat.compress.codec  设置相应的压缩算法类名

    如果输出是序列文件(sequence file),还可以设置mapreduce.output.fileoutputformat.compress.type属性来控制使用的压缩格式。默认是RECODE,既针对每条记录进行压缩,还有其他的属性值,如NONE,BLOCK,如果改外BLOCK,将针对每一组记录进行压缩。推荐这种压缩方式,压缩效率更高。

    map端

    对map的输出进行压缩,使用像LZO、LZ4、Snappy这样的快速压缩方式,可以获得性能的提升,应为需要传输的数据减少了。

    修改mapred-site.xml文件

    mapreduce.map.output.compress 设置为true,默认是false

    mapreduce.map.output.compress.codec   压缩类型

  • 相关阅读:
    正则表达式分组小记
    Python中关于try...finally的一些疑问
    hello,world!
    02操控奴隶——掌握它的语言“Python”
    01操控奴隶——奴隶的构成与运行方式
    vue特殊属性 key ref slot
    vue内置组件 transition 和 keep-alive 使用
    vue文档全局api笔记2
    vue文档全局api笔记1
    vue 二三倍图适配,1像素边框
  • 原文地址:https://www.cnblogs.com/yjt1993/p/11212863.html
Copyright © 2020-2023  润新知