Hive Hive支援的資料儲存格式

2021-10-01 04:08:13 字數 2740 閱讀 8681

儲存檔案的查詢速度測試:

hive支援的儲存資料的格式主要有:textfile(行式儲存) 、sequencefile(行式儲存)、orc(列式儲存)、parquet(列式儲存)。

上圖左邊為邏輯表,右邊第乙個為行式儲存,第二個為列式儲存。

textfile和sequencefile的儲存格式都是基於行儲存的;

orc和parquet是基於列式儲存的。

從儲存檔案的壓縮比和查詢速度兩個角度對比。

儲存檔案的壓縮比測試:

0)測試資料 參見log.data 此原始資料19m

(1)建立表,儲存資料格式為textfile

create table log_text2 (

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)向表中載入資料

load data local inpath '/export/servers/hivedatas/log.data' into table log_text1 ;
(3)檢視表中資料大小

dfs -du -h /user/hive/warehouse/myhive.db/log_text;
18.1 m /user/hive/warehouse/log_text/log.data

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)向表中載入資料

insert into table log_orc select * from log_text1 ;
(3)檢視表中資料大小

dfs -du -h /user/hive/warehouse/myhive.db/log_orc;
2.8 m /user/hive/warehouse/log_orc/123456_0

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)向表中載入資料

insert into table log_parquet select * from log_text ;
(3)檢視表中資料大小

dfs -du -h /user/hive/warehouse/myhive.db/log_parquet;
13.1 m /user/hive/warehouse/log_parquet/123456_01)textfile

hive (default)

>

select count(*) from log_text;

_c0100000

1 row selected (5.97 seconds)

1 row selected (5.754 seconds)

2)orc

hive (default)

>

select count(*) from log_orc;

_c0100000

1 row selected (5.967 seconds)

1 row selected (6.761 seconds)

3)parquet

hive (default)

>

select count(*) from log_parquet;

_c0100000

1 row selected (6.7 seconds)

1 row selected (6.812 seconds)

Hive Hive的資料壓縮

在實際工作當中,hive當中處理的資料,一般都需要經過壓縮,前期我們在學習hadoop的時候,已經配置過hadoop的壓縮,我們這裡的hive也是一樣的可以使用壓縮來節省我們的mr處理的網路頻寬 壓縮格式 工具演算法 副檔名 是否可切分 default 無default deflate 否gzip ...

Hive hive表中的資料匯出

insert overwrite local directory export servers exporthive a select from score insert overwrite local directory export servers exporthive row format d...

Hive Hive應用2 資料傾斜

1 什麼是資料傾斜?由於資料分布不均勻,造成資料大量的集中到一點,造成資料熱點 2 hadoop 框架的特性 a 不怕資料大,怕資料傾斜 b jobs 數比較多的作業執行效率相對比較低,如子查詢比較多 c sum,count,max,min 等聚集函式,通常不會有資料傾斜問題 3 主要表現 任務進度...