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
存储文件的查询速度测试:
存储文件的查询速度总结:查询速度相近。