Hive存储格式跟压缩对比
Hellooorld 2019-06-01 13:46:39 1182 收藏 3
分类专栏: bigdata
版权
存储:
1 TextFile
2 SequenceFile
3 RCFile
4 OrcFile
5 Parquet
6 Avro
6种性能测试
textfile
默认格式;
存储方式为行存储;
磁盘开销大 数据解析开销大;
但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。
SequenceFile
二进制文件,以<key,value>的形式序列化到文件中;
存储方式:行存储;
可分割 压缩;
一般选择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低一些,但是比其他高很多了,压缩过程也很快.