Hive的壓縮和儲存

2021-08-28 13:19:27 字數 1056 閱讀 5153

資料儲存格式

hive和hadoop一樣,也可以使用壓縮來節省我們的mr處理的網路頻寬。

其中壓縮格式和效能,也和hadoop類似。

開啟map輸出階段壓縮

開啟reduce輸出階段壓縮

當hive將輸出寫入到表中時,輸出內容同樣可以進行壓縮。屬性hive.exec.compress.output控制著這個功能。

預設設定檔案中的預設值false,預設的輸出是非壓縮的純文字檔案。

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

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

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

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

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

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

儲存檔案的壓縮比:

orc > parquet > textfile

儲存檔案的查詢速度:

orc > textfile > parquet

所以一般選用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'

Hive之壓縮儲存

壓縮儲存有時候可以獲得更好的效能。使用textfile儲存時,可以使用gzip或者bzip2進行壓縮。操作如下 create table raw line string row format delimited fieldsterminated by t lines terminated by n ...

hive庫的儲存與壓縮

儲存格式 儲存方式 textfile 預設儲存格式,行儲存 orcfile 按照行分塊,塊按照列儲存,每個塊都儲存有乙個索引,資料壓縮率非常高 parquet 行式儲存,很好的壓縮效能,可以減少大量的表掃瞄和反序列化的時間 create table student orcfile zlib id s...

Hive壓縮儲存效能測試

textfile格式 create table textfile id int,name string partitioned by date string row format delimited fields terminated by lines terminated by n parquet...