HIVE文件存储格式(texfile,sequencefile, rcfile,orcfile,parquet)

存储格式:

指在hive建表的时候指定的将表中的数据按照什么样子的存储格式,如果制定了A方式,那么在向表中插入数据的时候,将会使用该方式向HDFS中添加相应的数据类型。

hive的文件存储格式包括以下几类:

 - textfile
 - sequencefile
 - rcfile
 - orcfile
 - parquet
- 自定义格式

textfile和sequencefile是行式存储,orcfile和parquet是列式存储
(1)textfile

  • 默认的存储格式

  • 存储方式:行存储

  • 不压缩

  • 磁盘开销大,数据解析开销大;使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。
    (2)sequencefile

  • 二进制文件,以<key,value>的形式序列化到文件中

  • 存储方式:行存储

  • 支持三种压缩选择:NONE,RECORD,BLOCK,RECORD压缩率低,一般建议使用BLOCK压缩

  • 优势:文件和Hadoop API中的mapfile是相互兼容的
    (3)rcfile

  • 存储方式:数据按行分块,每块按照列存储

  • 压缩快,快速列存取

  • 其将数据按行分块,保证同一个record在一个块上,避免读一个记录需要读取多个block。
    (4)orcfile

  • 存储方式:数据按行分块,每块按照列存储

  • 效率比refile高,是refile的改良版
    (5)parquet
    类似于orc,相对于orc文件格式,Hadoop的生态系统中大部分工程都支持parquet文件。

压缩比:orcfile > Parquet > textFile(textfile没有进行压缩)

查询速度:三者几乎一致
具体读写性能查询测试结果可参照这篇文章:https://blog.csdn.net/weixin_36714575/article/details/80091578?utm_source=app&app_version=4.16.0

TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的;并且SEQUENCEFILE是存储为二进制文件

ORC和PARQUET是基于列式存储的

行列混合存储的RCFile,该存储结构遵循的是“先水平划分,再垂直划分”的设计理念。先将数据按行水平划分为行组,这样一行的数据就可以保证存储在同一个集群节点;然后在对行进行垂直划分,RCFile全称Record Columnar File,列式记录文件,是一种类似于SequenceFile的键值对(Key/Value Pairs)数据文件,

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值