首页 > 其他 > 详细

Hive之压缩与存储格式

时间:2019-12-23 15:48:00      阅读:105      评论:0      收藏:0      [点我收藏+]

1.压缩

在Hadoop中MR一共支持四种编码分别是:default,gzip,bzip2,lzo和snappy

下面是这几种压缩格式的说明:

压缩格式 工具 算法 后缀名 是否可切分
default 无 default .deflate 不可以切分
gzip gzip default .gzp 不可以切分
bzip2 bzip2 bzip2 bz2 可以切分
lzo lzo lzo .lzo 可以切分
snappy 无 snappy .snappy 不可以切分

 

下面是各个压缩算法之间的比较(目前仅比较了gzip,bzip2,lzo三种格式)

压缩格式 文件大小 压缩后大小 压缩速度 解压速度
gzip 8.3g 1.8g 17.5m/s 58m/s
bzip2 8.3g 1.1g 2.4m/s 9.5m/s
lzo 8.3g 2.9g 49.5m/s 74.5m/s
         

 

 

我们不难得出结论:

压缩后文件大小:lzo>gzip>bzip2
压缩速度:lzo>gzip>bzip2
解压速度:lzo>gzip>bzip2

所以如果追求节省存储空间可以选择bzip2,但是如果追求速度的话那就选择lzo,当然介于两者之间的gzip也是很好的选择,压缩格式本就没有好坏之分,一切由实际场景的业务来决定。

要在Hadoop中启用压缩,可以配置如下参数(mapred-site.xml文件中):

参数

默认值

阶段

建议

io.compression.codecs

(在core-site.xml中配置)

org.apache.hadoop.io.compress.DefaultCodec, org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.BZip2Codec,

org.apache.hadoop.io.compress.Lz4Codec

输入压缩

Hadoop使用文件扩展名判断是否支持某种编解码器

mapreduce.map.output.compress

false

mapper输出

这个参数设为true启用压缩

mapreduce.map.output.compress.codec

org.apache.hadoop.io.compress.DefaultCodec

mapper输出

使用LZO、LZ4或snappy编解码器在此阶段压缩数据

mapreduce.output.fileoutputformat.compress

false

reducer输出

这个参数设为true启用压缩

mapreduce.output.fileoutputformat.compress.codec

org.apache.hadoop.io.compress. DefaultCodec

reducer输出

使用标准工具或者编解码器,如gzip和bzip2

mapreduce.output.fileoutputformat.compress.type

RECORD

reducer输出

SequenceFile输出使用的压缩类型:NONE和BLOCK

 


2.存储格式

 ---未完-----

Hive之压缩与存储格式

原文:https://www.cnblogs.com/xxfxxf/p/11886400.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!