1. 程式人生 > 其它 >大資料之Hive:壓縮和儲存

大資料之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

儲存檔案的查詢速度測試:
儲存檔案的查詢速度總結:查詢速度相近。