首页 hive文件格式及压缩
文章
取消

hive文件格式及压缩

文件格式

查看hive的wiki文件的wiki

Text File

//文本,默认值

SequenceFile

// 二进制序列文件

RCFile

//列式存储格式文件 Hive0.6以后开始支持

Avro Files

//列式存储格式文件,比RCFILE有更高的压缩比和读写效率,Hive0.11以后开始支持

ORC Files

Parquet

Parquet //列出存储格式文件,Hive0.13以后开始支持

Custom INPUTFORMAT and OUTPUTFORMAT

SEQUENCEFILE :生产中绝对不会用,k-v格式,比源文本格式占用磁盘更多 TEXTFILE :生产中用的多,行式存储 RCFILE :生产中用的少,行列混合存储,OCR是他得升级版 ORC :生产中最常用,列式存储 PARQUET :生产中最常用,列式存储 AVRO :生产中几乎不用,不用考虑 JSONFILE :生产中几乎不用,不用考虑 INPUTFORMAT :生产中几乎不用,不用考虑 https://www.cnblogs.com/xuziyu/p/10737199.html

压缩算法

default

org.apache.hadoop.io.compress.DefaultCodec

gzip

org.apache.hadoop.io.compress.GzipCodec

lzo

LanguageManual LZO

com.hadoop.compression.lzo.LzopCodec

bizp2

org.apache.hadoop.io.compress.BZip2Codec

lz4

org.apache.hadoop.io.compress.Lz4Codec

snappy

org.apache.hadoop.io.compress.SnappyCodec

https://www.cnblogs.com/lillcol/p/11197982.html

https://blog.csdn.net/breakout_alex/article/details/101199663

https://blog.csdn.net/aA518189/article/details/86493554

https://blog.csdn.net/weixin_44769733/article/details/102710943

https://www.baidu.com/baidu?wd=%E5%90%8C%E6%A0%B7%E7%9A%84sql+%E7%94%A8hive%E5%92%8Cspark-sql+%E4%B8%80%E4%B8%AA%E5%80%BE%E6%96%9C%E4%B8%80%E4%B8%AA%E4%B8%8D%E5%80%BE%E6%96%9C&tn=monline_7_dg&ie=utf-8

https://github.com/flink-china/flink-training-course#11-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E5%AD%A6%E4%B9%A0-apache-flink

优化方式

Hadoop:9、Hadoop 压缩详解

开启 map 输出阶段压缩

开启 map 输出阶段压缩可以减少 job 中 map 和 reduce task 间数据传输量。

1
2
3
4
5
6
7
8
-- 设置 hive 中间传输数据压缩功能
set hive.exec.compress.intermediate=true;

-- 设置 mapreduce 中 map 输出压缩
set mapreduce.map.output.compress=true;

-- 设置 mapreduce 中 map 输出数据的压缩方式
set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;

开启 reduce 输出阶段压缩

1
2
3
4
5
6
7
8
9
10
11
-- 设置 hive 最终输出数据压缩功能
set hive.exec.compress.output=true;

-- 设置 mapreduce 最终输出数据压缩
set mapreduce.output.fileoutputformat.compress=true;

-- 设置 mapreduce 最终数据输出压缩方式
set mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;

-- 设置 mapreduce 最终数据输出压缩为块压缩
set mapreduce.output.fileoutputformat.compress.type=BLOCK;

其它设置

1
2
3
4
5
6
-- 控制着输出文件的压缩格式
set hive.exec.orc.default.compress=;

set mapred.output.compression.codec=;

set mapred.map.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
本文由作者按照 CC BY 4.0 进行授权