hive数据格式和压缩格式(orcfile、zlib、snappy、行储存、列储存)

1、hive数据格式和压缩格式

1.1、数据格式

1.1.1、行储存和列储存

行储存的特点:查询满足条件的一整行(所有列)数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。

*列存储的特点:* 因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量;每个字段的数据类型一定是相同的,列式存储可以针对性的设计更好的设计压缩算法。

1.1.2 textfile

行存储:这种格式使得hive不会对数据进行拆分,导致无法对数据进行并行操作

1.1.3 orcfile

这个格式可以提高hive读、写、处理数据的能力

这个格式的hive数据是按照行存储分块、每个块又按照列储存

这个格式的每个块默认大小256mb,块大了之后使得orc格式可以支持索引

1.2储存和压缩结合

1.2.1 zlib 格式压缩

压缩率比较高,但是压缩行能一般

1.2.2snappy压缩

压缩速度快、压缩率合理

压缩率比zlib格式要低

1.3推荐的压缩和储存格式

​ 因为orcfile的压缩快,储存快,所以我们一般会使用orcfile储存格式,压缩算法采用orc支持的zlib格式和snappy格式

​ 对于ods层的数据,一般采用orcfile+zlib格式,来节省磁盘的空间

​ 对于DWD/DWM/DWS/APP层,为了执行的效率,可以使用比较土豪的方式:orcfile+snappy

​ 另外,如果不考虑磁盘空间,可以使用snappy格式。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值