• Hive 常用存储、压缩格式


    1. Hive常用的存储格式

    TEXTFI
    textfile为默认存储格式
    存储方式:行存储
    磁盘开销大 数据解析开销大
    压缩的text文件 hive 无法进行合拆分

    SEQUENCEFILE
    sequencefile二进制文件,以的形式序列到文件中
    存储方式:行存储
    可以分割、压缩
    一般选择block压缩
    优势是和Hadoop api中的mapfile相互兼容的

    RCFILE
    存储方式:数据按行分块 每块按照列存储
    压缩快 快速列存取
    读记录尽量涉及到的block最少
    读取需要的列只需要读取每个row group的头部定义
    读取全量数据的操作 性能可能比sequence没有明显的优势

    ORC
    存储方式:数据按行分块,每块按照列存储
    压缩快 压缩按照列存取
    效率比rcfile高,是rcfile的改良版本

    Apache ORC
    ORC(OptimizedRC File)存储源自于RC(RecordColumnar File)这种存储格式,RC是一种列式存储引擎,
    对schema演化(修改schema需要重新生成数据)支持较差,而ORC是对RC改进,但它仍对
    schema演化支持较差,
    主要是在压缩编码,查询性能方面做了优化。RC/ORC最初是在Hive中得到使用,最后发展势头不错,独立成一个单独的项目。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    PARQUET

    Apache Parquet
    源自于google Dremel系统(可下载论文参阅),Parquet相当于Google Dremel中的数据存储引擎,
    而Apache顶级开源项目Drill正是Dremel的开源实现。
    Apache Parquet 最初的设计动机是存储嵌套式数据,比如Protocolbuffer,thrift,json等,将这类数据存储成列式格式,
    以方便对其高效压缩和编码,且使用更少的IO操作取出需要的数据,
    这也是Parquet相比于ORC的优势,
    它能够透明地将Protobuf和thrift类型的数据进行列式存储,在Protobuf和thrift被广泛使用的今天,与parquet进行集成,
    是一件非容易和自然的事情。 
    除了上述优势外,相比于ORC, Parquet没有太多其他可圈可点的地方,
    比如它不支持update操作(数据写成后不可修改),不支持ACID等。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    Avro格式
    自定义格式

    2. Hive压缩算法

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    数据结构 第2章:线性表
    大数据数仓建模基础理论【维度表、事实表、数仓分层及示例】
    京东产品上架如何批量上传商品素材?
    element-Cascader级联选择器用法?
    ES入门七:索引管理Api的使用
    ARM架构--栈
    华纳云:如何进行Linux CPU中的Kernel space分析
    kubernetes集群之Pod说能不能让我体面的消亡呀?
    冥想第六百三十四天
    Java当中的BIO模型
  • 原文地址:https://blog.csdn.net/dgssd/article/details/134314815