1. 程式人生 > >HIVE引數調優(彙總)

HIVE引數調優(彙總)

//設定自動mapjoin 為false
set hive.auto.convert.join=false;
set hive.ignore.mapjoin.hint=false

//關閉嚴格模式
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.mapred.mode=nonstrict;

//設定壓縮格式-gzip
set hive.exec.compress.output=true;
set mapred.output.compress=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;

//設定壓縮格式-lzo
set hive.exec.compress.output=true;
set mapred.output.compress=true;
set mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;
set io.compression.codecs=com.hadoop.compression.lzo.LzoCodec;

//資料傾斜
set hive.map.aggr=true; // map端聚合
set hive.optimize.skewjoin=true;
set hive.groupby.skewindata=true;

//排序記憶體溢位問題
set mapreduce.task.io.sort.mb=10;

 set hive.groupby.mapaggr.checkinterval=100000;

// join 記憶體溢位時設定
set mapred.child.java.opts=-Xmx512m;

//設定任務數
set mapred.reduce.tasks=10;

//元資料:巢狀SQL並行執行優化:

set hive.exec.parallel=true;

set hive.exec.parallel.thread.number=16;

mapreduce.reduce.shuffle.memory.limit.percent:

預設值: 0.25
說明:一個單一的shuffle的最大記憶體使用限制(可調整為0.1)。

set mapred.max.split.size=1000000;

參考