更新時(shí)間:2020年07月30日15時(shí)24分 來(lái)源:傳智播客 瀏覽次數(shù):
Map輸出壓縮
除了創(chuàng)建表時(shí)指定保存數(shù)據(jù)時(shí)壓縮,在查詢(xún)分析過(guò)程中,Map的輸出也可以進(jìn)行壓縮。由于map任務(wù)的輸出需要寫(xiě)到磁盤(pán)并通過(guò)網(wǎng)絡(luò)傳輸?shù)絩educer節(jié)點(diǎn),所以通過(guò)使用LZO、LZ4或者Snappy這樣的快速壓縮方式,是可以獲得性能提升的,因?yàn)樾枰獋鬏數(shù)臄?shù)據(jù)減少了。
·MapReduce配置項(xiàng):
mapreduce.map.output.compress
·設(shè)置是否啟動(dòng)map輸出的壓縮機(jī)制,默認(rèn)為false。在需要減少網(wǎng)絡(luò)傳輸?shù)臅r(shí)候,可以設(shè)置為true。
mapreduce.map.output.compress.codec
設(shè)置map輸出壓縮機(jī)制,默認(rèn)為org.apache.hadoop.io.compress.DefaultCodec,推薦使用SnappyCodec:org.apache.hadoop.io.compress.SnappyCodec。
Reduce結(jié)果壓縮
是否對(duì)任務(wù)輸出產(chǎn)生的結(jié)果進(jìn)行壓縮,默認(rèn)值false。對(duì)傳輸數(shù)據(jù)進(jìn)行壓縮,既可以減少文件的存儲(chǔ)空間,又可以加快數(shù)據(jù)在網(wǎng)絡(luò)不同節(jié)點(diǎn)之間的傳輸速度。
配置項(xiàng):mapreduce.output.fileoutputformat.compress
Hive執(zhí)行過(guò)程通用壓縮設(shè)置
主要包括壓縮/解碼器設(shè)置和壓縮方式設(shè)置:
·mapreduce.output.fileoutputformat.compress.codec(Yarn)
map輸出所用的壓縮codec,默認(rèn)為org.apache.hadoop.io.compress.DefaultCodec,推薦使用SnappyCodec:org.apache.hadoop.io.compress.SnappyCodec。
·mapreduce.output.fileoutputformat.compress.type
輸出產(chǎn)生任務(wù)數(shù)據(jù)的壓縮方式,默認(rèn)值RECORD,可配置值有:NONE、RECORD、BLOCK。推薦使用BLOCK,即針對(duì)一組記錄進(jìn)行批量壓縮,壓縮效率更高。
Hive的Map-Reduce之間是否進(jìn)行壓縮
控制 Hive 在多個(gè) map-reduce 作業(yè)之間生成的中間 files 是否被壓縮。壓縮編解碼器和其他選項(xiàng)由上面Job的變量mapreduce.output.fileoutputformat.compress.*確定。
set hive.exec.compress.intermediate=true;
Hive查詢(xún)最終結(jié)果壓縮
控制是否壓縮查詢(xún)的最終輸出(到 local/hdfs 文件或 Hive table)。壓縮編解碼器和其他選項(xiàng)由 上面Job中的變量mapreduce.output.fileoutputformat.compress.*確定。
set hive.exec.compress.output=true;
猜你喜歡:
大數(shù)據(jù)培訓(xùn)課程
不是計(jì)算機(jī)專(zhuān)業(yè)是否可以轉(zhuǎn)行學(xué)大數(shù)據(jù)嗎?
2020-06-24大數(shù)據(jù)好學(xué)嗎?
2020-06-24大數(shù)據(jù)核心的價(jià)值是什么 ?
2020-06-24沒(méi)有接觸過(guò)編程可以學(xué)大數(shù)據(jù)嗎?
2020-06-24哪些人適合學(xué)習(xí)大數(shù)據(jù)?
2020-06-24大數(shù)據(jù)實(shí)戰(zhàn)之反爬蟲(chóng)系統(tǒng)視頻教程【大數(shù)據(jù)培訓(xùn)】
2020-06-02北京校區(qū)