在實際工作當中,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...