常見壓縮格式
壓縮方式
壓縮比壓縮速度
解壓縮速度
是否可分割
gzip
13.4%
21 mb/s
118 mb/s
否bzip2
13.2%
2.4mb/s
9.5mb/s
是lzo
20.5%
135 mb/s
410 mb/s
是22.2%
172 mb/s
409 mb/s
否壓縮格式對應的編/解碼器
壓縮格式
對應的編/解碼器
deflate
org.apache.hadoop.io.compress.defaultcodec
gzip
org.apache.hadoop.io.compress.gzipcodec
bzip2
org.apache.hadoop.io.compress.bzip2codec
lzocom.hadoop.compress.lzo.lzopcodec
壓縮引數配置
1.在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
mapreduce.map.output.compress
false
mapreduce.map.output.compress.codec
org.apache.hadoop.io.compress.defaultcodec
mapreduce.output.fileoutputformat.compress
false
mapreduce.output.fileoutputformat.compress.codec
org.apache.hadoop.io.compress.defaultcodec
mapreduce.output.fileoutputformat.compress.type
record
2.hive命令列session級別
(1) 開啟map輸出階段壓縮
#開啟hive中間傳輸資料壓縮功能
set hive.
exec
.compress.intermediate=
true
;#開啟map階段輸出壓縮功能
set mapreduce.map.output.compress=
true
;#設定map階段的壓縮方式
(2) 開啟reduce輸出階段壓縮
#開啟hive最終輸出壓縮
set hive.
exec
.compress.output=
true
;#開啟mapreduce最終輸出壓縮
set mapreduce.output.fileoutputformat.compress=
true
;#設定mapreduce最終輸出壓縮方式
#設定mapreduce最終輸出壓縮為塊壓縮
set mapreduce.output.fileoutputformat.compress.
type
=block;
總結沒有一勞永逸的壓縮格式,要根據實際情況合理選用。選擇標準主要有如下三點:壓縮比:壓縮比越高,壓縮後檔案越小;
壓縮效率:越快越好;
壓縮檔案是否支援再分割:這會影響map階段的並行;
Hive常見的壓縮格式
io.compression.codecsname org.apache.hadoop.io.compress.gzipcodec,org.apache.hadoop.io.compress.defaultcodec,com.hadoop.compression.lzo.lzocodec,com.h...
hive的資料壓縮格式和儲存格式
1.textfile hive資料表的預設格式 可以使用gzip壓縮演算法,但壓縮後的檔案不支援split 2.sequencefile sequence file是可分割的檔案格式,支援hadoop的block級壓縮。3.rcfile 資料按行分塊,每塊按列儲存 4.orcfile 資料按行分塊,...
建立GZIP壓縮格式的HIVE表
author kwu gzip為linux系統中最常用的壓縮格式,建立gzip壓縮格式的hive表具體步驟如下。1 以 stored as textfile 為儲存格式建立hive表 create table tracklog dateday string comment 日期 ip string ...