hive如何開啓輸出階段壓縮

##開啓Map輸出階段壓縮

開啓map輸出階段壓縮可以減少job中map和Reduce task間數據傳輸量。具體配置如下:

  • 開啓hive中間傳輸數據壓縮功能
set hive.exec.compress.intermediate=true;
  • 開啓mapreduce中map輸出壓縮功能
set mapreduce.map.output.compress=true;
  • 設置mapreduce中map輸出數據的壓縮方式
set mapreduce.map.output.compress.codec= org.apache.hadoop.io.compress.SnappyCodec;
  • 執行查詢語句
select count(1) from score;

開啓Reduce輸出階段壓縮

###屬性hive.exec.compress.output控制着這個功能,用戶可以通過在查詢語句或執行腳本中設置這個值爲true,來開啓輸出結果壓縮功能。

  • 開啓hive最終輸出數據壓縮功能
set hive.exec.compress.output=true;
  • 開啓mapreduce最終輸出數據壓縮
set mapreduce.output.fileoutputformat.compress=true;
  • 設置mapreduce最終數據輸出壓縮方式
set mapreduce.output.fileoutputformat.compress.codec = org.apache.hadoop.io.compress.SnappyCodec;
  • 設置mapreduce最終數據輸出壓縮爲塊壓縮
set mapreduce.output.fileoutputformat.compress.type=BLOCK;
  • 測試一下輸出結果是否是壓縮文件
insert overwrite local directory '/export/servers/snappy' select * from score distribute by s_id sort by s_id desc;

文章來自 大蘿蔔博客網 新人建站 求支持

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章