zoukankan      html  css  js  c++  java
  • MapReduce数据压缩机制

    压缩目的:

        降低数据磁盘存储空间,减少传输数据的IO量
        压缩追求的指标:
                压缩时间   越短越好
                压缩化   越大越好
                硬件需求如:CPU 算法支持
       mr中可以使用压缩的地方:
                map的输出数据进行数据压缩,减少shuff给reduce的数据量    
                reduce的输出进行数据压缩,减少最终结果在磁盘存储所占的空间
       检查Hadoop支持的压缩算法:
                
    [root@node-1 ~]# hadoop checknative
    Native library checking:
    hadoop: true /export/servers/hadoop-2.6.0cdh5.14.0/lib/native/libhadoop.so.1.0.0
    zlib: true /lib64/libz.so.1
    snappy: true /usr/lib64/libsnappy.so.1
    lz4: true revision:10301
    bzip2: true /lib64/libbz2.so.1
    openssl: true /usr/lib64/libcrypto.so
    如果某一个算法流失,可以在线yum在线装,或者重新编译Hadoop 
     

    推荐压缩算法:

    Snappy

    mr中怎样使用压缩:

        在mapReduce程序中进行设置,影响当前mr程序
        在mapreduce-site.xml进行配置,影响所有的mr程序

    MapReduce常见算法:

    • 单词计数
    • 数据去重
    • 排序
    • Top K
    • 选择
    • 投影
    • 分组
    • 多表连接
    • 单表关联

    总结:

    • 在Hadoop中,codec由CompressionCode的实现来表示。下面是一些实现:
    • 输出的压缩属性:

    • 输出的压缩属性代码实现



  • 相关阅读:
    数据库练习
    pymysql
    数据库索引
    数据库查询
    数据库操作
    数据库建表
    数据库初识
    shell 编程
    Struts2与SpringMVC
    SpringAOP
  • 原文地址:https://www.cnblogs.com/TiePiHeTao/p/225e91b6bf460e7bc20d86c4502a8a88.html
Copyright © 2011-2022 走看看