合理设置 job中reduce的数量 和 最大数量
set mapred.reduce.tasks
set hive.exec.reducers.max
合理设置 job中每个reduce处理文件的 大小
set hive.exec.reducers.bytes.per.reducer
合理设置动态分区
set hive.exec.dynamic.partition
合理设置压缩
map/reduce 输出压缩(一般采用序列化文件存储)
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set mapred.output.compression.type=BLOCK;
任务中间压缩
set hive.exec.compress.intermediate=true;
set hive.intermediate.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;(常用)
set hive.intermediate.compression.type=BLOCK;
合理设置输入分片
set mapreduce.input.fileinputformat.split.minsize //启动map最小的split size大小,默认0
set mapreduce.input.fileinputformat.split.maxsize //启动map最大的split size大小,默认256M
合理设置合并
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
set hive.merge.mapFiles=true;
set hive.merge.mapredFiles=true;
set hive.merge.size.per.task=xxxx