临时配置

最好去看hive官网,版本更新后可能会不适用

hive命令行里面临时增大内存量即可,具体命令如下:

set mapreduce.map.memory.mb=2560;
set mapreduce.map.java.opts=-Xmx2048m;
set mapreduce.reduce.memory.mb=2560;
set mapreduce.reduce.java.opts=-Xmx2048m;

打开动态分区

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;

hive.exec.dynamic.partition(缺省false): 设置为true允许使用dynamic partition
hive.exec.dynamic.partition.mode(缺省strick):设置dynamic partition模式(nostrict允许所有partition列都为dynamic partition,strict不允许)
hive.exec.max.dynamic.partitions.pernode (缺省100):每一个mapreduce job允许创建的分区的最大数量,如果超过了这个数量就会报错
hive.exec.max.dynamic.partitions (缺省1000):一个dml语句允许创建的所有分区的最大数量
hive.exec.max.created.files (缺省100000):所有的mapreduce job允许创建的文件的最大数量

中间运算指定压缩

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 大计算任务相关的三个设置参数:

--限制并发Map数量:
set mapreduce.job.running.map.limit=200;
--设置Reduce任务数量:
set mapreduce.job.reduces=100;
--设置Map输出结果压缩:
set mapreduce.map.output.compress=true;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。