--压缩配置:
-- 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 hive.exec.dynamic.partition.mode=nonstrict;--设置非严格模式
set hive.exec.dynamic.partition=true;--设置动态分区
set hive.exec.max.dynamic.partitions.pernode=1000;--设置动态分区每个节点最多可划分为多少个分区
set hive.exec.max.dynamic.partitions=2000;--设置动态分区时的分区最大数量
set mapred.reduce.tasks = 20;--设置reduce的任务数量,可用于优化插入分区表时的执行效率
set hive.exec.reducers.max=100;--设置reduce最大数量
set spark.executor.cores=4;--设置每个executor用的core
set spark.executor.memory=8g;--设置每个executor的内存大小
set mapreduce.map.memory.mb=8192;--设置map任务的内存大小(container大小)
set mapreduce.reduce.memory.mb=8192;--设置reduce任务使用内存大小
set mapred.reduce.child.java.opts=-server -Xmx4000m -Djava.net.preferIPv4Stack=true;
--map端内存溢出可以参考下面两个参数
set mapred.map.child.java.opts=-server -Xmx2048m -Djava.net.preferIPv4Stack=true;
set mapreduce.map.child.java.opts="-Xmx3072m"
set hive.execution.engine=mr;--设置执行hive引擎为mr
set hive.merge.mapredfiles= true;--合并小文件
set hive.merge.mapfiles = true;
set hive.merge.size.per.task = 256000000;
set hive.merge.smallfiles.avgsize = 256000000;
set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
set hive.optimize.cp = true;
set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=8;
set mapreduce.job.running.map.limit=10;--限制map运行数量
set hive.mapjoin.smalltable.filesize=26214400;--默认是25M
set hive.exec.max.created.files = 200000;--增大hive文件创建数量
set yarn.app.mapreduce.am.resource.mb=4096;
set hive.tez.java.opts=-Xmx8192m -XX:MaxPermSize=256m;
SET hive.tez.container.size=10240;
set mapreduce.input.fileinputformat.split.maxsize=256000000;
set mapreduce.input.fileinputformat.split.minsize.per.no
hive参数优化目录
最新推荐文章于 2024-04-29 20:15:18 发布