目录
一、简介
目前我们Hive数仓建表存储格式主要是Parquet+默认压缩,因为Parquet默认压缩是UNCOMPRESSED,大部分场景数据都是很少压缩的,所以对Hive常用的存储格式和压缩算法做了一下测试。
Hive支持的几种文件格式有: TextFile(文本格式),RCFile(行列式文件),SequenceFile(二进制序列化文件),AVRO,ORC(优化的行列式文件)和Parquet 格式,其中使用最多的是ORC和Parquet。下面主要是ORC和Parquet的对比。
1.1 ORC
列式存储
提供了多种索引,可以支持复杂的数据结构
ORC格式的表还支持事务ACID
ORC 的Hive关键配置
ORC 与 Hive 接触的比较紧密,在CDH 6.1.x 版本即 Impala3.x 开始以 experimental feature 支持 ORC 格式
KEY DEFAULT NOTES
orc.compress ZLIB compression = {NONE, ZLIB, SNAPPY}
ORC文件的压缩类型,可选的类型有NONE、ZLIB和SNAPPY,默认值是ZLIB
1.2 Parquet
列式存储
在Hadoop生态圈使用范围广,Hive、Impala、Presto 等各种查询引擎
对Impala支持更好
KEY DEFAULT NOTES
orc.compress UNCOMPRESSED compression = {UNCOMPRESSED, GZIP, SNAPPY}
parquet.compression:默认值为 UNCOMPRESSED,表示页的压缩方式。可以使用的压缩方式有 UNCOMPRESSED、 SNAPPY、GZIP 等。
二、测试环境说明
2.1.集群环境
CDH6.1.0,Hive 2.1.1,impala 3.4.0,集群节点6
cdh-datanode1
cdh-datanode2
cdh-datanode3
cdh-datanode4
cdh-namenode1
cdh-namenode2
相同队列,测试条件相同,查询无并发
2.2 测试数据
测试数据为TPC-H测试数据集+测试环境自有数据集
2.2.1 TPC-H使用
是一系列事务处理和数据库基准测试的规范,TPC-H主要用于BI和决策支持
1)tpch下载
官网www.tpc.org/tpch/ 下载TPCH_Tools.zip
2)解压
unzip TPCH_Tools.zip
3)配置
cd /va