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;

在这里插入图片描述

相关内容

热门资讯

吕文君社媒庆祝夺冠:不只是海港... 2025赛季中超联赛于昨日正式落幕,上海海港队凭借出色的表现,成功捧起了冠军奖杯,成为了中超历史上又...
日本政府顾问:无需等到160关... 日本政府顾问表示,高市早苗政府对日元干预将采取更积极姿态,以抑制日元疲软带来的通胀压力,干预门槛可能...
被摄影师起诉侵权 视觉中国公开... 来源:每日经济新闻 持续两年多的摄影师起诉视觉中国(000681.SZ)侵权一案近日迎来进展。 法...
《哪吒2》被质疑过多使用动捕技... 搜狐娱乐讯 22日,奥斯卡公开的最佳动画长片奖“符合参评资格”大名单中没有《哪吒之魔童闹海》,引发热...
为了少付合同款,湖南一公司诉讼... 华声在线11月23日讯(文/视频 全媒体记者 杨昱 通讯员 胡云淞)为了少支付40万元合同款及利息,...
原创 退... 在机关事业单位养老保险制度从2014年10月1日开始实施之后,标志着我国退休的制度的并轨。之所以会称...
从“纸上政策”到“落地实效” ... 在建湖县高新技术园区,文辰精密科技有限公司的生产车间内机器轰鸣,工人们正忙着赶制新一批订单。这家专注...
跨省办公更便捷!京津冀律师驿站... 11月22日至23日,京津冀律师驿站在北京启动“百千万行动计划”,计划通过建立百家律所联系点,推动千...
梅花生物:因侵害专利权被味之素... 北京商报讯(记者 郭秀娟 王悦彤) 11月23日,北京商报记者获悉,近日梅花生物发布公告称,公司及全...
吉林益豆食品有限公司:依托互市... 珲春地处中、俄、朝三国交界,得天独厚的地理位置,使其成为连接东北亚的“黄金通道”。在这里,吉林益豆食...