zoukankan      html  css  js  c++  java
  • 存储和压缩

    开启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是自解析的。

  • 相关阅读:
    立一个flag。
    详解 fcntl 记录上锁。
    [转] 虚拟机中生成与物理机的共享文档。
    Shell实现1.0
    深剖malloc、new
    由命名管道的实现联想到 read 和 fread 的区别。
    僵尸进程与孤儿进程。
    Vim引申以及Linux下彩色进度条实现
    各大排序八方齐聚!
    Docker三剑客:Compose、Machine和Swarm
  • 原文地址:https://www.cnblogs.com/zqzhen/p/12940269.html
Copyright © 2011-2022 走看看