#reduce的输出是否压缩
set mapred.output.compress=true;
#控制是否将hive中最后的结果进行压缩的。如果将该参数设置为true的时候,文件类型一般会选择SequenceFile。
set hive.exec.compress.output=true;
#决定了使用哪种文件格式,默认textfile
SET hive.default.fileformat=Orc;
#允许所有分区为动态分区,默认strict
set hive.exec.dynamic.partition.mode=nonstrict;
#开启动态分区功能,默认false
set hive.exec.dynamic.partition=true;
#在所有执行MR的节点上,最大一共可以创建多少个动态分区,默认1000;
SET hive.exec.max.dynamic.partitions=100000;
#在每个执行MR的节点上,最大可以创建多少个动态分区,默认100;
SET hive.exec.max.dynamic.partitions.pernode=100000;
#可以控制一个sql中多个可并行执行的job
set hive.exec.parallel=true;
#控制对于同一个sql来说同时可以运行的job的最大值,该参数默认为8
set hive.exec.parallel.thread.number=3;
#控制一个job会有多少个reducer来处理,依据的是输入文件的总大小。默认1GB
#这个并不会影响mapre.reduce.tasks参数的设置。
#mapred.reduce.tasks 这个参数如果指定了,hive就不会用它的estimation函数来自动 计算reduce的个数,而是用这个参数来启动reducer。默认是-1.
#如果我们不指定mapred.reduce.tasks, hive会自动计算需要多少个reducer。
#计算的公式: reduce个数 = InputFileSize / bytes per reducer
set hive.exec.reducers.bytes.per.reducer=128000000;
#设置为true,hive会首先尝试本地模式执行,尽可能避免mapreduce
hive.exec.mode.local.auto
#可以将表字段打印出来
Hiveconf配置项hive.cli.print.header=true
#为true来提高聚合性能,在map端进行顶级聚合,会需要更多的内存
hive.map.aggr
#权限
set hive.warehouse.subdir.inherit.perms=false;
#map任务虚拟CPU核数,cdh默认1
set mapreduce.map.cpu.vcores=4;
#reduce任务虚拟CPU核数,cdh默认1
set mapreduce.reduce.cpu.vcores=8;
#map任务内存,cdh默认1G
set mapreduce.map.memory.mb=12288;
#reduce任务内存,cdh默认1G
set mapreduce.reduce.memory.mb=16384;
#启动 JVM 虚拟机时启动参数,而认值-Xmx200m,表示这个 Java 程序可以使用的最大堆内存数,
#一旦超过这个大小,JVM 就会抛出 Out of Memory 异常,并终止进程。
#mapreduce.map.java.opts一定要小于mapreduce.map.memory.mb
set mapreduce.map.java.opts=-Xmx9216M;
set mapreduce.reduce.java.opts=-Xmx12288M;
#文件分片的存储空间,建议设为-1,不对其进行限制
set mapreduce.job.split.metainfo.maxsize=-1;
#启动mapjoin
hive.auto.convert.join=true