Hive 主流文件存储格式对比实验

本文对比了Hive中TextFile、ORC和Parquet三种存储格式的压缩比和查询速度。测试结果显示,ORC在压缩比上优于Parquet,而两者查询速度相近。在实际应用中,通常选择ORC或Parquet作为存储格式,并倾向于使用Snappy压缩算法。
摘要由CSDN通过智能技术生成
从存储文件的压缩比和查询速度两个角度对比。
存储文件的压缩比测试:
2 TextFile
(1)创建表,存储数据格式为 TEXTFILE

 

(2)向表中加载数据
hive (default)> load data local inpath '/opt/module/hive/datas/log.data'
into table log_text ;
(3)查看表中数据大小
hive (default)> dfs -du -h /user/hive/warehouse/log_text;
18.13 M /user/hive/warehouse/log_text/log.data
3 ORC
(1)创建表,存储数据格式为 ORC

 

 

(2)向表中加载数据
hive (default)> insert into table log_orc select * from log_text;
(3)查看表中数据大小
hive (default)> dfs -du -h /user/hive/warehouse/log_orc/ ;
7.7 M /user/hive/warehouse/log_orc/000000_0
4 Parquet
(1)创建表,存储数据格式为 parquet

 

(2)向表中加载数据
hive (default)> insert into table log_parquet select * from log_text;
(3)查看表中数据大小
hive (default)> dfs -du -h /user/hive/warehouse/log_parquet/;
13.1 M /user/hive/warehouse/log_parquet/000000_0
存储文件的对比总结:
ORC > Parquet > textFile
存储文件的查询速度测试:
(1) TextFile
hive (default)> insert overwrite local directory
'/opt/module/data/log_text' select substring(url,1,4) from log_text;
(2) ORC
hive (default)> insert overwrite local directory
'/opt/module/data/log_orc' select substring(url,1,4) from log_orc;
(3) Parquet
hive (default)> insert overwrite local directory
'/opt/module/data/log_parquet' select substring(url,1,4) from
log_parquet;
存储文件的查询速度总结: 查询速度相近。
存储和压缩结合
1 测试存储和压缩
ORC 存储方式的压缩:

 注意:所有关于 ORCFile 的参数都是在 HQL 语句的 TBLPROPERTIES 字段里面出现

1)创建一个 ZLIB 压缩的 ORC 存储方式

(1)建表语句
(2)插入数据
insert into log_orc_zlib select * from log_text;
(3)查看插入后数据
hive (default)> dfs -du -h /user/hive/warehouse/log_orc_zlib/ ;
2.78 M /user/hive/warehouse/log_orc_none/000000_0
2 )创建一个 SNAPPY 压缩的 ORC 存储方式
(1)建表语句

 

 (2)插入数据

insert into log_orc_snappy select * from log_text;
(3)查看插入后数据
hive (default)> dfs -du -h /user/hive/warehouse/log_orc_snappy/;
3.75 M /user/hive/warehouse/log_orc_snappy/000000_0
ZLIB Snappy 压缩的还小。原因是 ZLIB 采用的是 deflate 压缩算法。比 snappy 压缩的
3 )创建一个 SNAPPY 压缩的 parquet 存储方式
(1)建表语句

 

(2)插入数据
insert into log_parquet_snappy select * from log_text;
(3)查看插入后数据
hive (default)> dfs -du -h /user/hive/warehouse/log_parquet_snappy/;
6.39 MB /user/hive/warehouse/ log_parquet_snappy /000000_0
4 )存储方式和压缩总结
在实际的项目开发当中, hive 表的数据存储格式一般选择: orc parquet 。压缩方式一
般选择 snappy lzo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据开发工程师-宋权

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值