Hive存储格式跟压缩对比(各种技术都在这里)

存储:

1    TextFile
2    SequenceFile
3    RCFile
4    OrcFile
5    Parquet
6   Avro

6种性能测试
textfile
默认格式;
存储方式为行存储;
磁盘开销大 数据解析开销大;
但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。

SequenceFile
二进制文件,以的形式序列化到文件中;
存储方式:行存储;
可分割 压缩;
一般选择block压缩;
优势是文件和Hadoop api中的mapfile是相互兼容的

refile
存储方式:数据按行分块 每块按照列存储;
压缩快 快速列存取;
读记录尽量涉及到的block最少;
读取需要的列只需要读取每个row group 的头部定义;
读取全量数据的操作 性能可能比sequencefile没有明显的优势,

orcfile
存储方式:数据按行分块 每块按照列存储;
压缩快 快速列存取;
效率比rcfile高,是rcfile的改良版本

parquet 
类似于orc,相对于orc文件格式,hadoop生态系统中大部分工程都支持parquet文件。

Avro
Avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。
它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,
Avro提供的机制使动态语言可以方便地处理Avro数据。


压缩比:ORC >  Parquet >  (RCfile|Avro|Sequencefile 三者压缩差不多) >textFile(textfile没有进行压缩,默认)

查询速度:ORC > Parquet > RCFile > SequenceFile > Avro > TextFile

Hive压缩比较

Default
gzip
zip
bzip2
lzo
ZLip
Snappy

开发过程中一般使用orc,Parquet存储和snappy压缩,

orc默认使用了ZLIP压缩
zlip跟snappy比较
GZIP    13.4%    21 MB/s    118 MB/s
LZO    20.5%    135 MB/s    410 MB/s
Zippy/Snappy    22.2%    172 MB/s    409 MB/s

总结

ZLIP压缩最后的文件存储低,但是压缩效率较Snappy低太多了.
ZLIP压缩率高,缺点压缩过程很慢
Snappy压缩率相对Zlip低一些,但是比其他高很多了,压缩过程也很快.


 

你可能感兴趣的:(bigdata)