Hive之壓縮儲存

2021-06-28 13:30:29 字數 822 閱讀 9250

壓縮儲存有時候可以獲得更好的效能。

使用textfile儲存時,可以使用gzip或者bzip2進行壓縮。操作如下

create table raw (line string) row format delimited fieldsterminated by '\t' lines terminated by '\n';

load data local inpath '/tmp/weblogs/20090603-access.log.gz' intotable raw;

以上操作的缺點是hive在查詢時不能分隔壓縮檔案,不能並行執行map,只能執行乙個map。

更好的方式是如下操作:

create table raw (line string) row format delimited fieldsterminated by '\t' lines terminated by '\n';

create table raw_sequence (line string) stored as sequencefile;

load data local inpath '/tmp/weblogs/20090603-access.log.gz' intotable raw;

set hive.exec.compress.output=true;

set io.seqfile.compression.type=block; -- none/record/block (seebelow)

insert overwrite table raw_sequence select * from raw;

把資料插入到另一張表。另一種表使用sequencefile儲存。

Hive的壓縮和儲存

資料儲存格式 hive和hadoop一樣,也可以使用壓縮來節省我們的mr處理的網路頻寬。其中壓縮格式和效能,也和hadoop類似。開啟map輸出階段壓縮 開啟reduce輸出階段壓縮 當hive將輸出寫入到表中時,輸出內容同樣可以進行壓縮。屬性hive.exec.compress.output控制著...

Hive壓縮儲存效能測試

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

hive庫的儲存與壓縮

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