Hive Hive的資料壓縮

2021-10-01 04:06:08 字數 2669 閱讀 1301

在實際工作當中,hive當中處理的資料,一般都需要經過壓縮,前期我們在學習hadoop的時候,已經配置過hadoop的壓縮,我們這裡的hive也是一樣的可以使用壓縮來節省我們的mr處理的網路頻寬

壓縮格式

工具演算法

副檔名

是否可切分

default

無default

.deflate

否gzip

gzip

default

.gz否

bzip2

bzip2

bzip2

.bz2

是lzo

lzop

lzo.lzo

否lz4

無lz4

.lz4否無

否 壓縮格式

對應的編碼/解碼器

deflate

org.apache.hadoop.io.compress.defaultcodec

gzip

org.apache.hadoop.io.compress.gzipcodec

bzip2

org.apache.hadoop.io.compress.bzip2codec

lzocom.hadoop.compression.lzo.lzopcodec

lz4org.apache.hadoop.io.compress.lz4codec

壓縮演算法

原始檔案大小

壓縮檔案大小

壓縮速度

解壓速度

gzip

8.3gb

1.8gb

17.5mb/s

58mb/s

bzip2

8.3gb

1.1gb

2.4mb/s

9.5mb/s

lzo8.3gb

2.9gb

49.3mb/s

74.6mb/s

要在hadoop中啟用壓縮,可以配置如下引數(mapred-site.xml檔案中):

引數預設值

階段建議

io.compression.codecs (在core-site.xml中配置)

org.apache.hadoop.io.compress.defaultcodec, org.apache.hadoop.io.compress.gzipcodec, org.apache.hadoop.io.compress.bzip2codec,org.apache.hadoop.io.compress.lz4codec

輸入壓縮

hadoop使用副檔名判斷是否支援某種編解碼器

mapreduce.map.output.compress

false

這個引數設為true啟用壓縮

mapreduce.map.output.compress.codec

org.apache.hadoop.io.compress.defaultcodec

mapreduce.output.fileoutputformat.compress

false

reducer輸出

這個引數設為true啟用壓縮

mapreduce.output.fileoutputformat.compress.codec

org.apache.hadoop.io.compress. defaultcodec

reducer輸出

使用標準工具或者編解碼器,如gzip和bzip2

mapreduce.output.fileoutputformat.compress.type

record

reducer輸出

sequencefile輸出使用的壓縮型別:none和block

1)開啟hive中間傳輸資料壓縮功能

hive (default)

>set hive.exec.compress.intermediate=true;

2)開啟mapreduce中map輸出壓縮功能

hive (default)

>set mapreduce.map.output.compress=true;

3)設定mapreduce中map輸出資料的壓縮方式

hive (default)

4)執行查詢語句

select count(1) from score;

1)開啟hive最終輸出資料壓縮功能

hive (default)

>set hive.exec.compress.output=true;

2)開啟mapreduce最終輸出資料壓縮

hive (default)

>set mapreduce.output.fileoutputformat.compress=true;

3)設定mapreduce最終資料輸出壓縮方式

hive (default)

>

4)設定mapreduce最終資料輸出壓縮為塊壓縮

hive(default)

>set mapreduce.output.fileoutputformat.compress.type=block;

5)測試一下輸出結果是否是壓縮檔案

select * from score distribute by s_id sort by s_id desc;

mysql 資料壓縮 mysql的資料壓縮效能對比

資料魔方需要的資料,一旦寫入就很少或者根本不會更新。這種資料非常適合壓縮以降低磁碟占用。mysql本身提供了兩種壓縮方式 archive引擎以及針對myisam引擎的myisampack方式。今天對這兩種方式分別進行了測試,對比了二者在磁碟占用以及查詢效能方面各自的優劣。至於為什麼做這個,你們應該懂...

ASIHTTPRequest 資料壓縮

從0.9版本開始,asihttprequest會提示伺服器它可以接收gzip壓縮過的資料。apache 2.x以上版本已經配備了mod deflate擴充套件,這使得apache可以透明地壓縮特定種類的資料。要開啟這個特性,你需要在apache的配置檔案中啟用mod deflate。並將mod de...

ASIHTTPRequest 資料壓縮

從0.9版本開始,asihttprequest會提示伺服器它可以接收gzip壓縮過的資料。apache 2.x以上版本已經配備了mod deflate擴充套件,這使得apache可以透明地壓縮特定種類的資料。要開啟這個特性,你需要在apache的配置檔案中啟用mod deflate。並將mod de...