hive 修改表的儲存格式 Hive檔案儲存格式

2021-10-13 09:06:22 字數 1513 閱讀 3673

列式儲存和行式儲存

5.png

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

** 行儲存的特點: **查詢滿足條件的一整行資料的時候,列儲存則需要去每個聚集的字段找到對應的每個列的值,行儲存只需要找到其中乙個值,其餘的值都在相鄰地方,所以此時行儲存查詢的速度更快。

** 列儲存的特點: **因為每個欄位的資料聚集儲存,在查詢只需要少數幾個欄位的時候,能大大減少讀取的資料量;每個欄位的資料型別一定是相同的,列式儲存可以針對性的設計更好的設計壓縮演算法。

hive中常用的儲存格式

textfile

textfile為預設格式,儲存方式為行儲存。

orcfile

hive/spark都支援這種儲存格式,它儲存的方式是採用資料按照行分塊,每個塊按照列儲存,其中每個塊都儲存有乙個索引。特點是資料壓縮率非常高。

6.png

parquet

parquet也是一種行式儲存,同時具有很好的壓縮效能;同時可以減少大量的表掃瞄和反序列化的時間。

根據不同的格式建立表

textfile

建立表create table textfile(

row format delimited fields terminated by '\t'

stored as textfile;

insert into table textfile select * from source_log;

檢視占用的磁碟空間

7.png

orc建立表

create table orc(

row format delimited fields terminated by '\t'

stored as orc;

insert into table orc select * from source_log;

檢視占用的磁碟空間

8.png

parquet

建立表create table parquet(

row format delimited fields terminated by '\t'

stored as parquet;

insert into table parquet select * from source_log;

檢視占用的磁碟空間

9.png

磁碟空間占用大小比較

orc(7.8m)

查詢語句的比較

textfile表

hive (count_log)> select id from textfile limit 30;

10.png

orc表

hive (count_log)> select id from orc limit 30;

11.png

parquet表

hive (count_log)> select id from parquet limit 30;

12.png

把設定儲存格式和壓縮結合使用,可以最大的減少儲存空間。

hive儲存格式

textfile 預設格式,行儲存,匯入資料時直接把資料檔案拷貝到hdfs的hive表目錄 hive location 資料檔案可先經過gzip等壓縮,再導hive表 系統自動檢查,執行查詢時自動解壓 但使用這種方式,hive不會對資料進行切分,從而無法對資料進行並行操作.優點 資料載入快 load...

Hive儲存格式

hive的四種儲存格式 textfile sequencefile rcfile parquet 列式儲存和行式儲存的比較 優點缺點 行式儲存 一行資料是一條記錄,放在同乙個block塊中 只查詢幾個列時,也會讀取整行的資料,當資料量大時,影響效能 方便進行insert update操作 不同型別的...

hive 儲存格式

hive有textfile,sequencefile,rcfile三種檔案格式。textfile為預設格式,建表時不指定預設為這個格式,匯入資料時會直接把資料檔案拷貝到hdfs上不進行處理。sequencefile,rcfile格式的表不能直接從本地檔案匯入資料,資料要先匯入到textfile格式的...