Hive 压缩配置详解
创始人
2025-05-28 08:00:26
0

压缩

1 MR支持的压缩编码

压缩格式工具算法文件扩展名是否可切分
DEFAULTDEFAULT.deflate
GzipgzipDEFAULT.gz
bzip2bzip2bzip2.bz2
LZOlzopLZO.lzo
LZ4LZ4.lz4
SnappySnappy.snappy

为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器,如下表所示:

压缩格式对应的编码/解码器
DEFLATEorg.apache.hadoop.io.compress.DefaultCodec
gziporg.apache.hadoop.io.compress.GzipCodec
bzip2org.apache.hadoop.io.compress.BZip2Codec
LZOcom.hadoop.compression.lzo.LzopCodec
LZ4org.apache.hadoop.io.compress.Lz4Codec
Snappyorg.apache.hadoop.io.compress.SnappyCodec

压缩性能的比较

压缩算法原始文件大小压缩文件大小压缩速度解压速度
gzip8.3GB1.8GB17.5MB/s58MB/s
bzip28.3GB1.1GB2.4MB/s9.5MB/s
LZO8.3GB2.9GB49.3MB/s74.6MB/s

http://google.github.io/snappy/

On a single core of a Core i7 processor in 64-bit mode, Snappy compresses at about 250 MB/sec or more and decompresses at about 500 MB/sec or more.

#查看hadoop支持的压缩算法
hadoop  checknative

在这里插入图片描述

2 压缩参数

参数默认值阶段建议
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.compressfalsemapper输出这个参数设为true启用压缩
mapreduce.map.output.compress.codecorg.apache.hadoop.io.compress.DefaultCodecmapper输出使用LZO、LZ4或snappy编解码器在此阶段压缩数据
mapreduce.output.fileoutputformat.compressfalsereducer输出这个参数设为true启用压缩
mapreduce.output.fileoutputformat.compress.codecorg.apache.hadoop.io.compress. DefaultCodecreducer输出使用标准工具或者编解码器,如gzip和bzip2
mapreduce.output.fileoutputformat.compress.typeRECORDreducer输出SequenceFile输出使用的压缩类型:NONE和BLOCK
#修改mapred-site.xml
mapreduce.map.output.compresstrue

mapreduce.map.output.compress.codecorg.apache.hadoop.io.compress.SnappyCodec


mapreduce.output.fileoutputformat.compresstrue

mapreduce.output.fileoutputformat.compress.codecorg.apache.hadoop.io.compress.SnappyCodec


mapreduce.output.fileoutputformat.compress.typeBLOCK

3 测试MR压缩

#创建目录
hadoop fs -mkdir /wc
#上传小文件
hadoop fs -put ./word.txt  /wc#执行wordcount
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wc/word.txt  /wc/1#查看
hadoop fs -D io.compression.codec.snappy.native=true -text /wc/1/part-r-00000.snappy  |head -10

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 修改hive配置文件


vim hive-site.xml
hive.exec.compress.outputtrue

mapreduce.map.output.compress.codecorg.apache.hadoop.io.compress.SnappyCodec


mapreduce.output.fileoutputformat.compresstrue

mapreduce.output.fileoutputformat.compress.codecorg.apache.hadoop.io.compress.SnappyCodec


mapreduce.output.fileoutputformat.compress.typeBLOCK

6 重启hive,创建表,加载数据

CREATE TABLE t_test(
cookieid string,
createtime string, 
pv INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';load data local inpath '/usr/local/rosh/data/test.txt' into table t_test;

7 执行sql

insert overwrite local directory '/usr/local/rosh/compress' select * from t_test distribute by cookieid sort by pv desc;

在这里插入图片描述

相关内容

热门资讯

甲醇期货:6日收2264元/吨... 【6月6日甲醇期货、现货行情及后市策略分析】6月6日,MA2509期货收于2264元/吨,周涨2.0...
反转了!警方确认:系自编自演 近日,一条“女子因偷窃两根小米辣被拘”的短视频在网络上引发热议。 视频画面中,两名女子坐在停靠在派出...
“真金白银”优惠带火消费人气 ... 央视网消息:2025年以来,消费品以旧换新政策持续加力,带动商品消费明显提升。在四川,随着以旧换新消...
原创 比... 近日,吉利汽车高级副总裁重提2023年4月长城汽车举报比亚迪秦、宋PLUS DM-i车型使用常压油箱...
韦神粉丝破2000万!“韦东奕... 钱江晚报消息,6月5日晚,北京大学的韦东奕老师、网友熟悉的“韦神”开通个人社交平台账号,发布视频和网...
多方解读“广东影视政策15条”... 6月6日,广东省电影家协会在省文联召开第九届理事会第三次(扩大)会议(以下简称“会议”)。会议深度解...
《青海省清洁能源产业发展促进条... 法治日报记者 徐鹏 青海是我国清洁能源产业大省。截至去年年底,全省清洁能源装机占比94.6%,新能源...
中国女排的这个小丫头怎么这么敢... “只要她敢传,我就敢下手。”赛场上的果敢化作6扣6中的惊艳数据,未满18岁的王奥芊在赛后采访中,谈及...
《政务数据共享条例》出台,如何... 近日,《政务数据共享条例》正式出台,对政务数据的目录管理、共享使用、平台支撑等工作进行部署。目的是推...
原创 中... 据报道,外交部发言人在例行记者会上,回应了美财长贝森特有关中美贸易谈判的表态。这一回应背后,是跌宕起...