在實際工作當中,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--
250mb/s
500mb/s
引數預設值
階段建議
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
案例實操:案例實操:
hive資料壓縮
hive表通常壓縮為儲存為orc檔案,預設壓縮方法為zlib io.compression.codecs org.apache.hadoop.io.compress.defaultcodec 壓縮比約為11 建立orc壓縮表 create table zxdm dim.d acct info bac...
hive的資料壓縮
3.通過hive shell開啟map輸出階段壓縮 4.開啟reduce輸出階段壓縮 在實際工作當中,hive當中處理的資料,一般都需要經過壓縮,前期我們在學習hadoop的時候,已經配置過hadoop的壓縮,我們這裡的hive也是一樣的可以使用壓縮來節省我們的mr處理的網路頻寬 壓縮格式 工具 演...
Hive高階之資料壓縮詳解
一般在hadoop集群上執行乙個mapreduce會有以下步驟 input map shuffle reduce output 如果我們採用了資料壓縮,在map階段產生的資料大小就會減少,會減少磁碟的io,同時還能夠減少網路的io。hadoop集群中使用壓縮演算法的要求有以下4點 1.hadoop的...