• 存储和压缩


    开启Map输出阶段压缩

    减少job中map和reduce task间数据传输量
    1.开启hive中间传输数据压缩功能

    set hive.exec.compress.intermediate=true;
    

    2.开启mapreduce中map输出压缩功能

    set mapreduce.map.output.compress=true;
    

    3.设置mapreduce中map输出数据的压缩方式

    set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;
    

    开启Reduce输出阶段压缩

    1.开启hive最终输出数据压缩功能

    set hive.exec.compress.output=true;
    

    2.开启mapreduce最终输出数据压缩
    ···xml
    set mapreduce.output.fileoutputformat.compress=true;

    3.设置mapreduce最终数据输出压缩方式
    ```xml
    set mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;
    

    4.设置mapreduce最终数据输出压缩为块压缩

    set mapreduce.output.fileoutputformat.compress.type=BLOCK;
    

    文件存储格式

    1.TextFile
    默认格式,数据不做压缩,磁盘开销大,数据解析开销大。可结合Gzip、Bzip2使用,但使用Gzip这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。
    2.Orc
    是hive 0.11引入的新的存储格式。默认是zlib压缩方式
    每个Orc文件由1个或多个stripe组成,每个stripe 250MB大小,这个stripe实际相当于RowGroup概念,不过大小由4MB->250MB,能提升顺序读的吞吐率。每个Stripe有三部分,分别为index data,row data, Stripe Footer。

    3.Parquet
    面向分析型业务的列式存储格式,以二进制方式存储,不可用直接读取,文件中包括该文件的数据和元数据,因此Parquet是自解析的。

  • 相关阅读:
    今天学到的单词
    今天是运维的一天
    今天是属于数据库的一天
    Python基础9 元组的访问和拆包
    Python基础8 元组的创建
    Python基础7 序列
    Python基础6 控制语句 if else elif range() while for
    Python基础5 运算符
    Python基础4 字符串的查找 find rfind 字符串类型和数字类型的转换
    Python基础2 数据类型:数字类型
  • 原文地址:https://www.cnblogs.com/zqzhen/p/12940269.html
Copyright © 2020-2023  润新知