上圖左邊為邏輯表,右邊第乙個為行式儲存,第二個為列式儲存。檢視占用的磁碟空間行儲存的特點:查詢滿足條件的一整行資料的時候,列儲存則需要去每個聚集的字段找到對應的每個列的值,行儲存只需要找到
其中乙個值,其餘的值都在相鄰地方
,所以此時行儲存查詢的速度更快。
列儲存的特點:因為每個欄位的資料聚集儲存,在查詢只需要少數幾個欄位的時候,能大大減少讀取的資料量;每個欄位的資料
型別一定是相同的,列式儲存可以針對性的設計更好的設計壓縮演算法。
textfile
textfile為預設格式,儲存方式為行儲存。
orcfile
hive/spark都支援這種儲存格式,它儲存的方式是採用資料按照行分塊,每個塊按照列儲存,其中每個塊都儲存有乙個索引。
特點是資料壓縮率非常高。
parquet也是一種行式儲存,同時具有很好的壓縮效能;同時可以減少大量的表掃瞄和反序列化的時間。
textfile
建立表
create table textfile(
......
...)
row format delimited fields terminated by '\t'
stored as textfile;
insert into table textfile select * from source_log;
orc建立表
create table orc(
......
...)
row format delimited fields terminated by '\t'
stored as orc;
insert into table orc select * from source_log;
檢視占用的磁碟空間
建立表
create table parquet(
......
...)
row format delimited fields terminated by '\t'
stored as parquet;
insert into table parquet select * from source_log;
檢視占用的磁碟空間
磁碟空間占用大小比較:
orc(7.8m)
textfile表
orc表
parquet表
查詢時間比較:
orc(20.345)
把設定儲存格式和壓縮結合使用,可以最大的減少儲存空間
HIVE檔案儲存格式
hive檔案儲存格式包括以下幾類 textfile sequencefile rcfile orcfile 其中textfile為預設格式,建表時不指定預設為這個格式,匯入資料時會直接把資料檔案拷貝到hdfs上不進行處理。sequencefile,rcfile,orcfile格式的表不能直接從本地檔...
Hive檔案儲存格式
上圖左邊為邏輯表,右邊第乙個為行式儲存,第二個為列式儲存。行儲存的特點 查詢滿足條件的一整行資料的時候,列儲存則需要去每個聚集的字段找到對應的每個列的值,行儲存只需要找到 其中乙個值,其餘的值都在相鄰地方 所以此時行儲存查詢的速度更快。列儲存的特點 因為每個欄位的資料聚集儲存,在查詢只需要少數幾個欄...
Hive檔案儲存格式
hive 支援的儲存數的格式主要有 textfile sequencefile orc parquet 1.列式儲存和行式儲存 右邊第乙個為行式儲存,第二個為列式儲存 行儲存的特點 查詢滿足條件的一整行資料的時候,列儲存則需要去每個聚集的字段找到對應的每個列的值,行儲存只需要找到其中乙個值,其餘的值...