hive压缩及存储总结

压缩:
各种压缩性能比较
在这里插入图片描述
目前,在数仓项目中hive表一般使用snappy格式压缩数据较多。压缩和解压缩速度都比较快。

文件存储格式:
目前hive的存储格式主要有4中;TEXTFILE SEQUENCEFILE ORCFILE 和PARQUET 4中存储格式。在数仓中,hive表一般使用的是ORCFILE。
如果数仓中设置的有缓冲层,缓冲层一般会使用TEXTFILE,因为TEXTFILE格式的hive表,在导入数据的时候可以直接使用load data 的方式加载text数据,或者通过hdfs将text格式的数据移动到表元数据目录下,接着再通过insert into table select * 的方式,将数据加载到ORC格式下的ODS层hive表中(ORC格式hive表无法通过load data加载数据)。
ORCFILE 和PARQUET是基于列式存储格式,对于数仓这种OLAP分析来说,往往都是一次写入, 多次读取, 尤其是经常取少部分列以及可能会对他进行聚合操作的情况, 比较适合使用列式存储

行式存储和列式存储
在这里插入图片描述
行式存储:
常见的关系型数据库就是行式存储的。查询满足条件的以整行数据的时候,列式存储需要去每个字段聚集的地方找到对应的每个列的值,而行式存储只需要找到一个值,其他的值都在相邻的地方,所以查询条件需要返回大多数列的时候,行式存储比较快。hive的默认存储textfile就是行式存储
但是由于每个列的字段类型可能都不一样,所以行式存储压缩效率不高
列式存储:
因为每个字段的数据聚集存储,在查询其中少数几个字段的时候,能大大减少读取的数据量,查询内容之外的字段,也不用进行IO和解压缩操作;每个字段的类型也是一样的,就可以针对性的设计更好的压缩算法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值