最好去看hive官網(wǎng)脾猛,版本更新后可能會(huì)不適用
hive命令行里面臨時(shí)增大內(nèi)存量即可断国,具體命令如下:
set mapreduce.map.memory.mb=2560;
set mapreduce.map.java.opts=-Xmx2048m;
set mapreduce.reduce.memory.mb=2560;
set mapreduce.reduce.java.opts=-Xmx2048m;
打開(kāi)動(dòng)態(tài)分區(qū)
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
hive.exec.dynamic.partition(缺省false): 設(shè)置為true允許使用dynamic partition
hive.exec.dynamic.partition.mode(缺省strick):設(shè)置dynamic partition模式(nostrict允許所有partition列都為dynamic partition贤姆,strict不允許)
hive.exec.max.dynamic.partitions.pernode (缺省100):每一個(gè)mapreduce job允許創(chuàng)建的分區(qū)的最大數(shù)量,如果超過(guò)了這個(gè)數(shù)量就會(huì)報(bào)錯(cuò)
hive.exec.max.dynamic.partitions (缺省1000):一個(gè)dml語(yǔ)句允許創(chuàng)建的所有分區(qū)的最大數(shù)量
hive.exec.max.created.files (缺省100000):所有的mapreduce job允許創(chuàng)建的文件的最大數(shù)量
中間運(yùn)算指定壓縮
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;
Hive 大計(jì)算任務(wù)相關(guān)的三個(gè)設(shè)置參數(shù):
--限制并發(fā)Map數(shù)量:
set mapreduce.job.running.map.limit=200;
--設(shè)置Reduce任務(wù)數(shù)量:
set mapreduce.job.reduces=100;
--設(shè)置Map輸出結(jié)果壓縮:
set mapreduce.map.output.compress=true;