千家信息网

hive的数据压缩方法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"hive的数据压缩方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"hive的数据压缩方法"吧!1、MR支持的压缩编码压缩格式工具算法文
千家信息网最后更新 2026年11月03日hive的数据压缩方法

本篇内容主要讲解"hive的数据压缩方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"hive的数据压缩方法"吧!

1、MR支持的压缩编码

压缩格式

工具

算法

文件扩展名

是否可切分

DEFAULT

无

DEFAULT

.deflate

否

Gzip

gzip

DEFAULT

.gz

否

bzip2

bzip2

bzip2

.bz2

是

LZO

lzop

LZO

.lzo

否

LZ4

无

LZ4

.lz4

否

Snappy

无

Snappy

.snappy

否

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

压缩格式

对应的编码/解码器

DEFLATE

org.apache.hadoop.io.compress.DefaultCodec

gzip

org.apache.hadoop.io.compress.GzipCodec

bzip2

org.apache.hadoop.io.compress.BZip2Codec

LZO

com.hadoop.compression.lzo.LzopCodec

LZ4

org.apache.hadoop.io.compress.Lz4Codec

Snappy

org.apache.hadoop.io.compress.SnappyCodec

压缩性能的比较

压缩算法

原始文件大小

压缩文件大小

压缩速度

解压速度

gzip

8.3GB

1.8GB

17.5MB/s

58MB/s

bzip2

8.3GB

1.1GB

2.4MB/s

9.5MB/s

LZO

8.3GB

2.9GB

49.3MB/s

74.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.

.2、压缩配置参数

要在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

3、开启Map输出阶段压缩

开启map输出阶段压缩可以减少job中map和Reduce task间数据传输量。具体配置如下:

案例实操:

1)开启hive中间传输数据压缩功能

hive (default)>set hive.exec.compress.intermediate=true;

2)开启mapreduce中map输出压缩功能

hive (default)>set mapreduce.map.output.compress=true;

3)设置mapreduce中map输出数据的压缩方式

hive (default)>set mapreduce.map.output.compress.codec= org.apache.hadoop.io.compress.SnappyCodec;

4)执行查询语句

select count(1) from score;

4 开启Reduce输出阶段压缩

当Hive将输出写入到表中时,输出内容同样可以进行压缩。属性hive.exec.compress.output控制着这个功能。用户可能需要保持默认设置文件中的默认值false,这样默认的输出就是非压缩的纯文本文件了。用户可以通过在查询语句或执行脚本中设置这个值为true,来开启输出结果压缩功能。

案例实操:

1)开启hive最终输出数据压缩功能

hive (default)>set hive.exec.compress.output=true;

2)开启mapreduce最终输出数据压缩

hive (default)>set mapreduce.output.fileoutputformat.compress=true;

3)设置mapreduce最终数据输出压缩方式

hive (default)> set mapreduce.output.fileoutputformat.compress.codec = org.apache.hadoop.io.compress.SnappyCodec;

4)设置mapreduce最终数据输出压缩为块压缩

hive (default)>set mapreduce.output.fileoutputformat.compress.type=BLOCK;

5)测试一下输出结果是否是压缩文件

insert overwrite local directory '/export/servers/snappy' select * from score distribute by s_id sort by s_id desc;

到此,相信大家对"hive的数据压缩方法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

输出 数据 文件 功能 参数 解码器 阶段 方法 配置 内容 算法 编码 支持 查询 大小 工具 扩展名 方式 格式 案例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 郑州华宇互联网科技 无锡溥仪互联网科技有限公司 中国的互联网科技企业的崛起 创业天下互联网科技有限公司 互联网科技教育视频 互联网金融中的现代科技 青岛科技大学互联网大赛研究生 湖南一路畅行互联网科技 知域互联网科技有限公司大骗子 互联网与医疗科技 无锡工业互联网科技有限公司 上海京穆互联网科技有限公司 广东工业互联网大赛深圳学泰科技 四川互联网展示科技馆设计 领航科技大厦互联网公司 唐山双旺合互联网科技产业园 平安好医生打造互联网科技医疗 科技美学互联网 艺术 武汉亿视互联网科技有限公司 百单网互联网科技有限公司怎么样 深圳九邦互联网科技有限公司 河南真二互联网科技有限公司 易互联网科技有限公司 华夏恒生科技与互联网科技 雨阳互联网卡科技有限公司 互联网相关科技技术 易企秀互联网科技是做什么的 湖北辰鑫科技互联网 福仕德教育科技互联网
0