Hive存储格式

img

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EVrTPBh2-1619577726246)(C:\Users\chenyw\AppData\Roaming\Typora\typora-user-images\image-20210326163202005.png)]

  1. TextFile:(能直接加载数据)

    • 行存储、Gzip压缩,压缩后的文件不支持split 在反序列化过程中,必须逐个字符判断是不是分隔符和行结束符,反序列化开销大;
    • 默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理。源文件可以直接通过hadoop fs -cat 查看;
  2. Sequence Files:

    • 行存储、可分割的文件格式,支持三种压缩选择:NONE,RECORD,BLOCK,默认为RECORD,BLOCK有更好的压缩性;
    • SEQUENCEFILE将数据以<key,value>的形式序列化到文件中。序列化和反序列化使用Hadoop 的标准的Writable 接口实现。key为空,用value 存放实际的值, 这样可以避免map 阶段的排序过程。
  3. RCFile:

    • 数据按行分块,每块按列存储,保证同一行的数据位于同一节点,仅提供一种追加接口;
    • 保证同一个record在一个块上,避免读一个记录需要读取多个block;
    • 块数据列式存储,有利于数据压缩和快速的列存取,可以进行列维度的数据压缩,跳过不必要的列读取;
  4. ORCFile:

    • 数据按行分块,每块按照列存储,压缩快,快速列存取。效率比rcfile高,是rcfile的改良版本;

  5. Parquet:

    • 行式存储,压缩性能好、减少大量的表扫描和反序列化的时间

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d8Iw0xHD-1619577726249)(C:\Users\chenyw\AppData\Roaming\Typora\typora-user-images\image-20210415172647252.png)]

    1. 行组(Row Group):每一个行组包含一定的行数,在一个HDFS文件中至少存储一个行组,类似于orc的stripe的概念。
    2. 列块(Column Chunk):在一个行组中每一列保存在一个列块中,行组中的所有列连续的存储在这个行组文件中。一个列块中的值都是相同类型的,不同的列块可能使用不同的算法进行压缩。
    3. 页(Page):每一个列块划分为多个页,一个页是最小的编码的单位,在同一个列块的不同页可能使用不同的编码方式。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值