hadoop平台gz、lzo压缩对比

压缩比:
rcfile:             1.04
rcfile+snappy:      0.27
rcfile+lzo:         0.25
sequencefile:       0.83
sequencefile+snappy:0.84
sequencefile+lzo:   0.79

单列读取速度:
select count(distinct product_no)
rcfile:             22秒
rcfile+snappy:      16秒
rcfile+lzo:         17秒
sequencefile:       26秒
sequencefile+snappy:25秒
sequencefile+lzo:   22秒

多列读取速度:
select * where 1=1 limit 10
rcfile:             11秒
rcfile+snappy:      9秒
rcfile+lzo:         9秒
sequencefile:       9秒
sequencefile+snappy:9秒
sequencefile+lzo:   9秒

 

可以看到使用rcfile+lzo压缩比最高

使用rcfile+snappy单列读取最快

使用rcfile不压缩,多列读取最慢

 

1、hadoop可以直接读取gz、lzo等压缩格式的数据

2、hadoop按照数据流的方式一边解压缩一边读取数据处理

3、目前HDFS上的存储格式有两种,可并行读取格式,不可并行读取格式

可并行读取格式: rcfile,sequenceFile,textFile(不压缩,或bZip2,lzop压缩)

不可并行读取格式: textFile(lzo压缩, GZ压缩, snappy压缩)

对于不可并行读取的格式, 无论文件分为多少个block存储,都只能用一个map处理,性能较差 

4、如果hadoop文件存储格式为sequenceFile或是rcfile,则通过gz、lzo等方式压缩时会是内部压缩,此时处理压缩数据时不会按照块分配map而是会分配多个map并向处理,因此效率比txtfile格式文件压缩后效率要高很多。sequenceFile和rcfile格式的文件压缩后从文件扩展名无法看出是压缩文件,即文件扩展名不会出现.gz或是.lzo

5、如果采用lzop(基于lzo压缩+索引的压缩算法)压缩的话数据可以实现多个map同时读取一个文件的数据

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值