正文
Hive中常用的参数配置
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
-- 查看当前环境参数配置
set -v;
-- 重置配置为默认值
reset;
-- 调整map数
-- input的文件大小,集群设置的文件块大小,hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改
set mapred.max.split.size=400000000;
set mapred.min.split.size.per.node=400000000;
set mapred.min.split.size.per.rack=400000000;
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
-- 前三个参数用于设置input文件块的大小,第四个这个参数表示执行前进行小文件合并
-- 调整reduce数
-- 方法一(推荐)
set hive.exec.reducers.bytes.per.reducer=400000000; (400M)
-- 方法二
set mapred.reduce.tasks = 15;
-- 并行设置
set hive.exec.parallel=true;
-- 数据倾斜
hive.optimize.skewjoin=false
hive.optimize.skewjoin.compiletime=false
set hive.auto.convert.join=true; --join优化 --默认关闭
set hive.exec.parallel=true; -- 默认关闭 --默认打开
set hive.exec.parallel.thread.number=16 --默认为8
set hive.optimize.skewjoin=true; -- 默认关闭 //如果是join 过程出现倾斜,应该设置为true
set hive.groupby.skewindata=true; -- 默认关闭 //发生数据倾斜的时候,进行负载均衡
set hive.map.aggr=true; --默认开启
-- input文件块大小切分参数设置
mapreduce.input.fileinputformat.split.maxsize=256000000
mapreduce.input.fileinputformat.split.minsize=1
mapreduce.input.fileinputformat.split.minsize.per.node=1
mapreduce.input.fileinputformat.split.minsize.per.rack=1