zoukankan      html  css  js  c++  java
  • Hive性能调优(一)----文件存储格式及压缩方式选择

    • 合理使用文件存储格式

        建表时,尽量使用 orc、parquet 这些列式存储格式,因为列式存储的表,每一列的数据在物理上是存储在一起的,Hive查询时会只遍历需要列数据,大大减少处理的数据量。

    • 采用合适的文件压缩

        Hive最终是转为 MapReduce 程序来执行的,而 MapReduce 的性能瓶颈在于网络 IO 和 磁盘 IO,要解决性能瓶颈,最主要的是减少数据量,对数据进行压缩是个好的方式。压缩虽然是减少了数据量,但是压缩过程要消耗CPU的,但是在Hadoop中, 往往性能瓶颈不在于CPU,CPU压力并不大,所以压缩充分利用了比较空闲的CPU。

        常见文件压缩格式:

    压缩格式 是否可拆分 是否自带 压缩率 速度 是否hadoop自带
    gzip 很高 比较快
    lzo 比较高 很快 否,需要安装
    snappy 比较高 很快 否,需要安装
    bzip2 最高

        各个压缩方式对应的类:

    压缩格式
    gzip org.apache.hadoop.io.compress.GzipCodec
    lzo org.apache.hadoop.io.compress.lzo.LzoCodec
    snappy org.apache.hadoop.io.compress.SnappyCodec
    bzip2 org.apache.hadoop.io.compress.BZip2Codec
    zlib org.apache.hadoop.io.compress.DefaultCodec
    lz4 org.apache.hadoop.io.compress.Lz4Codec

        压缩方式的选择:

          压缩比率

          压缩解压缩速度

          是否支持Split

        压缩使用:

          Job 输出文件按照 block 以 GZip 的方式进行压缩:

        set mapreduce.output.fileoutputformat.compress=true // 默认值是 false
    
        set mapreduce.output.fileoutputformat.compress.type=BLOCK // 默认值是 Record
    
        set mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.GzipCodec // 默认值是 org.apache.hadoop.io.compress.DefaultCodec
    

           Map 输出结果也以 Gzip 进行压缩:

        set mapred.map.output.compress=true
    
        set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.GzipCodec // 默认值是 org.apache.hadoop.io.compress.DefaultCodec 
    

           对 Hive 输出结果和中间都进行压缩:

        set hive.exec.compress.output=true // 默认值是 false,不压缩
    
        set hive.exec.compress.intermediate=true // 默认值是 false,为 true 时 MR 设置的压缩才启用
    
  • 相关阅读:
    随便说说辞职后
    用Excel的VBA实现文本匹配与替换
    [转]为什么你做不到呢?
    [转]女生,你为什么不沉住气奋斗?
    写在互联网分析的前面
    回归白领的生活
    NSSortDescriptor:对NSDictionary的NSArray进行排序
    本团队推荐:大神开发的仿原神风格ue5开发MMOARPG核心战斗系统
    UE4外包团队:UE4开发元宇宙项目 UE5开发元宇宙或最佳?
    元宇宙外包团队:Unity开发元宇宙应用,在元宇宙里里Unity扮演什么角色?
  • 原文地址:https://www.cnblogs.com/zbw1112/p/11898368.html
Copyright © 2011-2022 走看看