儲存檔案的查詢速度測試:
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_0
1)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 主要表現 任務進度...