大数据之Hive:压缩和存储

Hadoop压缩配置
1 MR支持的压缩编码
在这里插入图片描述
2 压缩性能的比较
在这里插入图片描述
3 文件存储格式
Hive支持的存储数据的格式主要有:TEXTFILE 、SEQUENCEFILE、ORC、PARQUET
TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的;
ORC和PARQUET是基于列式存储的。
主流文件存储格式对比实验
从存储文件的压缩比和查询速度两个角度对比。
4 存储文件的压缩比测试:
1.TextFile
(1)创建表,存储数据格式为TEXTFILE

create table log_text (
track_time string,
url string,
session_id string,
referer string,
ip string,
end_user_id string,
city_id string
)
row format delimited fields terminated by '\t'
stored as textfile ;

(2)向表中加载数据

hive (default)> load data local inpath '/opt/module/datas/log.data' into table log_text ;

(3)查看表中数据大小

hive (default)>dfs -du -h /user/hive/warehouse/test2.db/log_text/log.data;
18.1 M  /user/hive/warehouse/log_text/log.data

3.ORC
(1)创建表,存储数据格式为ORC

create table log_orc(
track_time string,
url string,
session_id string,
referer string,
ip string,
end_user_id string,
city_id string
)
row format delimited fields terminated by '\t'
stored as orc ;

(2)向表中加载数据

hive (default)> insert into table log_orc select * from log_text ;

(3)查看表中数据大小

hive (default)> dfs -du -h /user/hive/warehouse/log_orc/ ;
2.8 M  /user/hive/warehouse/log_orc/000000_0

4.Parquet
(1)创建表,存储数据格式为parquet

create table log_parquet(
track_time string,
url string,
session_id string,
referer string,
ip string,
end_user_id string,
city_id string
)
row format delimited fields terminated by '\t'
stored as 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

存储文件的查询速度测试:
存储文件的查询速度总结:查询速度相近。

猜你喜欢

转载自blog.csdn.net/weixin_43597208/article/details/113137680
今日推荐