大資料之Hive:壓縮和儲存
阿新 • • 發佈:2021-01-26
技術標籤:大資料系列二
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
儲存檔案的查詢速度測試:
儲存檔案的查詢速度總結:查詢速度相近。