Hive壓縮方式設定
阿新 • • 發佈:2019-01-27
Map 輸出階段
開啟 map 輸出階段壓縮可以減少 job 中 map 和 reduce task 之間資料傳輸量。
具體配置如下:
#開啟 hive 中間傳輸資料壓縮功能
hive (bigdata)> set hive.exec.compress.intermediate=true;
#開啟 mapreduce 中 map 輸出壓縮功能
hive (bigdata)> set mapreduce.map.output.compress=true;
#設定 mapreduce 中 map 輸出資料的壓縮方式
hive (bigdata)> set mapreduce.map.output .compress.codec=org.apache.hadoop.io.compress.SnappyCodec;
Reduce 輸出階段
當 Hive 將輸出寫入到表中時,輸出內容同樣可以進行壓縮。屬性hive.exec.compress.output 控制著這個功能。使用者可能需要保持預設設定檔案中的預設值false,這樣預設的輸出就是非壓縮的純文字檔案了。使用者可以通過在查詢語句或執行指令碼中設定這個值為 true,來開啟輸出結果壓縮功能。
#開啟 hive 最終輸出資料壓縮功能
hive (bigdata)> set hive.exec.compress.output =true;
#開啟 mapreduce 最終輸出資料壓縮
hive (bigdata)> set mapreduce.output.fileoutputformat.compress=true;
#設定 mapreduce 最終資料輸出壓縮方式
hive (bigdata)> set mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;
#設定 mapreduce 最終資料輸出壓縮為塊壓縮
hive (bigdata)> set mapreduce.output .fileoutputformat.compress.type=BLOCK;