hive数据文件格式和压缩格式

时间:2021-03-29 05:45:05

.文件格式

文件格式按面向的存储形式不同,分为面向行和面向列两大类文件格式。

面向行、列类型 类型名称 是否可切割计算 优点 缺点 适用场景
面向行 文本文件(.txt) YES 查看编辑简单

无压缩占空间大,传输

压力大,数据解析开销大

学习练习使用
面向行

SequenceFile序列

文件格式(.seq)

YES

自支持、二进制KV

存储,支持行和块的

压缩

本地查看不方便,小文件合并

成KV格式后不易查看内部数据

生产环境使用

map输出的默认

文件格式

面向列 rcfile文件格式(.rc) YES

数据加载快,查询快,

空间利用率高,高负

载能力

每一项都不是最高 学习生产均可
面向列 orcfile文件格式(.orc) YES

兼具rcfile优点、进一步

提高了读取、存储效率、

新数据类型的支持

每一项都不是最高 学习生产均可
压缩格式

压缩格式按其可切分性,分成可切分和不可切分两种

可切分性 类型名称 是否Hadoop原生支持 优点 缺点 适用场景
可切分 lzo(.lzo) NO

压缩、解压速度快,

合理的压缩率


压缩率比gzip低

不原生、需要native

安装

单个文件越大,lzo

优点越越明显。压

缩完成后>=200M为宜

可切分


bzip2(.bz2) YES

高压缩率超过gzip,原生

支持,用linux bzip可解压操作

压缩、解压速率慢

处理速度要求不高,需

要高压缩率

不可切分 gzip(.gz) YES

压缩解压速率快

原生、native都支持使用方便

不可切分,对cpu要

求高

压缩后文件<=130MB

适宜

不可切分 snappy(.snappy) NO

高速压缩/解压速度,合理的

压缩率

压缩率比gzip低,不原生,

需要native安装

适合作为map->reduce

或是job数据流的中间数

据传输格式