配置参数说明

--mapjoin
set hive.auto.convert.join=true;
set hive.auto.convert.join.noconditionaltask=true;
set hive.auto.convert.join.noconditionaltask.size=10000000;
set hive.mapjoin.smalltable.filesize=200000000;--输入小文件合并,若读取小文件较多,则设置在map端进行小文件合并参数
set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;-- 执行Map前进行小文件合并
set hive.hadoop.supports.splittable.combineinputformat = true;
--其中一种方版本
set mapreduce.input.fileinputformat.split.maxsize = 256000000;
set mapreduce.input.fileinputformat.split.minsize =256000000;
set mapreduce.input.fileinputformat.split.minsize.per.node=256000000;
set mapreduce.input.fileinputformat.split.minsize.per.rack=256000000;
--另一种版本(老版本,最好都设置)
SET mapred.max.split.size = 256000000; //设置mapper拆分大小
SET mapred.min.split.size = 256000000;
SET mapred.min.split.size.per.node = 256000000;
SET mapred.min.split.size.per.rack = 256000000;--开启输出小文件合并(rcfile和orc需要特殊设置才能进行文级别的合并,parquet、textfile、sequencefile默认进行文件级别的合并)
set hive.merge.mapfiles = true;--开启只有map(map-only)操作结束时小文件输出合并
set hive.merge.mapredfiles = true;--开启有MR操作结束时小文件输出合并
set hive.merge.size.per.task = 256000000;--合并后每个文件的大小
set hive.merge.smallfiles.avgsize=256000000;--当输出文件的平均大小小于256000000时,启动一个独立的MR任务进行文件合并,触发小文件合并的阀值
set hive.merge.orcfile.stripe.level=false; --当这个参数设置为true,orc文件进行stripe Level级别的合并,当设置为false,orc文件进行文件级别的合并。
set hive.merge.rcfile.block.level=false;--当这个参数设置为true,rcfile文件进行block Level级别的合并,当设置为false,rcfile文件进行文件级别的合并。--开启并发
SET hive.exec.parallel = true; //开启任务并行执行
SET hive.exec.parallel.thread.number = 16; //同一个sql允许并行任务的最大线程数--设置reduce限制,以下只设置其中一个即可
--设置每个reducer处理的数据(默认是1G,设置为5G)
set hive.exec.reducers.bytes.per.reducer=5120000000;
--设置reduce个数
set mapred.reduce.tasks=50;--map或reduce执行缓慢设置
--map
set mapreduce.map.cpu.vcores=1;
SET mapreduce.map.memory.mb=4096;
SET mapreduce.map.java.opts=-Xmx3572M;
--reduce
--REDUCE YARN 申请内存
set mapreduce.reduce.cpu.vcores=1;
set mapreduce.reduce.memory.mb=4096;
--REDUCE JVM 内存
set mapreduce.reduce.java.opts=-Xmx3572M;--join数据倾斜
set hive.optimize.skewjoin=true;
--groupby数据倾斜优化
set hive.groupby.skewindata=true;--groupby时开启map端部分聚合,相当于Combiner
set hive.map.aggr=true;--开启MR中间结果压缩
set hive.exec.compress.intermediate=true;--开启hive中间传输数据压缩功能
set mapred.map.output.compression.codec= org.apache.hadoop.io.compress.SnappyCodec
--开启MR最终输出Reduce输出压缩
set hive.exec.compress.output=true;  --开启hive最终输出数据压缩功能
set mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
set mapred.output.compression.type=BLOCK;--设置mapreduce最终数据输出压缩为块压缩,只有SEQUENCEFILE格式需要设置--设置创建文件的格式,例如: create table t1 as select * from t2;
SET hive.default.fileformat = orc;--动态分区
SET hive.exec.dynamic.partition=true; --是否允许动态分区
SET hive.exec.dynamic.partition.mode=nostrict; --分区模式设置
SET hive.exec.max.dynamic.partitions=100000; --允许动态分区的最大数量
SET hive.exec.max.dynamic.partitions.pernode =10000; --单个节点上的mapper/reducer允许创建的最大分区--向量化执行
set hive.vectorized.execution.enabled=TRUE;
--开启mapreduce的递归查询模式
set mapreduce.input.fileinputformat.input.dir.recursive=true--频繁GC
--GC(Garbage Collecting)是JVM特有垃圾回收机制;在Hadoop集群应用程序运行时,如果堆内存设置小或者小文件太多,都会引发频繁的GC,浪费计算资源并导致任务执行时间长甚至失败。
--MAP阶段GC时间40%以上,OPTS参数调整:
set mapreduce.map.cpu.vcores=$[目前值]*2
set mapreduce.map.memory.mb =$[目前值]*2
set mapreduce.map.java.opts=$[目前值] *2
--REDUCE阶段GC时间40%以上,OPTS参数调整:
set mapreduce.reduce.cpu.vcores=$[目前值]*2
set mapreduce.reduce.memory.mb=$[目前值]*2
set mapreduce.reduce.java.opts=$[目前值]*2

配置示例

demo1:

--mapjoin
set hive.auto.convert.join=true;
set hive.auto.convert.join.noconditionaltask=true;
set hive.auto.convert.join.noconditionaltask.size=10000000;
set hive.mapjoin.smalltable.filesize=200000000;
--若读取小文件较多,则设置在map端进行小文件合并参数
set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
set hive.hadoop.supports.splittable.combineinputformat = true;
set mapreduce.input.fileinputformat.split.maxsize = 256000000;
set mapreduce.input.fileinputformat.split.minsize.per.node=256000000;
set mapreduce.input.fileinputformat.split.minsize.per.rack=256000000;
--配置MR任务结束后进行文件合并
set hive.merge.mapfiles = true;
set hive.merge.mapredfiles = true;
set hive.merge.size.per.task = 256000000;
set hive.merge.smallfiles.avgsize=256000000;
set hive.merge.orcfile.stripe.level=false; --当这个参数设置为true,orc文件进行stripe Level级别的合并,当设置为false,orc文件进行文件级别的合并。
set hive.merge.rcfile.block.level=false;--当这个参数设置为true,rcfile文件进行block Level级别的合并,当设置为false,rcfile文件进行文件级别的合并。SET hive.exec.parallel = true;
SET hive.exec.parallel.thread.number = 16;
SET mapred.max.split.size = 256000000;
SET mapred.min.split.size.per.node = 256000000;
SET mapred.min.split.size.per.rack = 256000000;
--设置reduce限制
set hive.exec.reducers.bytes.per.reducer=5000000000;
--map或reduce执行缓慢设置
SET mapreduce.map.memory.mb=4096;
SET mapreduce.map.java.opts=-Xmx3572M;
set mapreduce.reduce.memory.mb=4096;
set mapreduce.reduce.java.opts=-Xmx3572M;
--数据倾斜
--join数据倾斜
set hive.optimize.skewjoin=true;
--groupby数据倾斜优化
set hive.groupby.skewindata=true;--启用压缩
SET mapred.output.compress = true;
SET hive.exec.compress.output = true;
SET hive.default.fileformat = orc;

demo2:

--mapjoin
set hive.auto.convert.join=true;
set hive.auto.convert.join.noconditionaltask=true;
set hive.auto.convert.join.noconditionaltask.size=10000000;
set hive.mapjoin.smalltable.filesize=200000000;
--若读取小文件较多,则设置在map端进行小文件合并参数
set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
set hive.hadoop.supports.splittable.combineinputformat = true;
set mapreduce.input.fileinputformat.split.maxsize = 2560000000;
set mapreduce.input.fileinputformat.split.minsize.per.node=2560000000;
set mapreduce.input.fileinputformat.split.minsize.per.rack=2560000000;SET mapred.max.split.size = 2560000000;
SET mapred.min.split.size.per.node = 2560000000;
SET mapred.min.split.size.per.rack = 2560000000;--配置MR任务结束后进行文件合并
set hive.merge.mapfiles = true;
set hive.merge.mapredfiles = true;
set hive.merge.size.per.task = 2560000000;
set hive.merge.smallfiles.avgsize=2560000000;
set hive.merge.orcfile.stripe.level=false;
set hive.merge.rcfile.block.level=false;SET hive.exec.parallel = true;
SET hive.exec.parallel.thread.number = 32;
--设置reduce限制
set hive.exec.reducers.bytes.per.reducer=5000000000;
--map或reduce执行缓慢设置
SET mapreduce.map.memory.mb=8192;
SET mapreduce.map.java.opts=-Xmx7186M;
set mapreduce.reduce.memory.mb=8192;
set mapreduce.reduce.java.opts=-Xmx7186M;
--数据倾斜
set hive.optimize.skewjoin=true;
--启用压缩
SET mapred.output.compress = true;
SET hive.exec.compress.output = true;
SET hive.default.fileformat = orc;

hive优化参数配置相关推荐

  1. HiveSQL运行优化参数配置

    HiveSQL运行优化参数配置 HiveSQL常用数据处理语句 HiveSQL中复杂数据类型操作 我们平时在使用hive执行一些SQL任务时.经常会遇到执行速度很慢,数据倾斜,资源不够用等问题.那是因 ...

  2. mysql属性配置提高查询_MYSQL性能优化-安装时优化参数配置提高服务性能

    MYSQL性能优化一直是个头痛的问题,目前大多都是直接把页面html静态页面或直接使用了缓存技术,下面我就mysql本身的性能优化来分享一下. 安装时优化参数配置提高服务性能 在Linux下安装Mys ...

  3. vsan主机高级优化参数配置

    vsan主机高级优化参数配置 https://blog.51cto.com/roberthu/2049330 esxi6.0 vc6.0 vsan6.2高级参数优化 esxcfg-advcfg -s ...

  4. HIVE常用参数配置

    HIVE参数配置 --查看参数使用:set  或者set -v; --设置参数使用:set  key=value; --设置reduce个数(默认-1) mapreduce.job.reduces=- ...

  5. [Hive_add_8] Hive 常用参数配置

    0. 说明 记录 Hive 常用参数的配置 1. 设置本地模式 让 Hive 自动使用 Hadoop 的本地模式运行作业,提升处理性能 适合小文件,一般用于测试 set hive.exec.mode. ...

  6. hive常用参数配置设置

    hive.exec.mode.local.auto  决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行)  true hive.exec.mode.local.auto ...

  7. Nginx工作原理及优化参数配置

    1.master和worker Nginx启动后,是由两个进程组成的.master(管理者)和worker(工作者). 一个Nginx只有一个master,但可以有多个worker. Nginx接收到 ...

  8. Nginx原理与优化参数配置

    Nginx的工作机制 Nginx 可以处理多少个请求由 work 来决定, work 越多处理的请求就越多, 它底层是通过一个争抢机制, 默认会启动两个进程, 分别是 Master & wor ...

  9. 【presto】presto 参数配置优化

    前言 之前公司的 presto 服务一直不是很稳定,随着资源组,配置优化,代码二次开发.presto 服务基本上已经趋于稳定了.这个记录下 presto 服务参数配置都做过哪些优化. 这边生产环境的 ...

最新文章

  1. 自加计数器c语言程序,计数器 加1 C语言 程序.doc
  2. ngx_lua module 模块安装
  3. Spring集成Shiro框架实战
  4. 编译32位_玩转Android10源码开发定制(11)内核篇之安卓内核模块开发编译
  5. php mysql增删查改 主码不能修改_PHP 数据库练习
  6. CVPR 2020 论文大盘点—目标跟踪篇
  7. 面向对象的三大特征之一继承
  8. python兼职程序员工资-没想到,学会Python即使不做程序员都能月入过万!
  9. 梯度、散度和旋度大揭秘
  10. Tableau——嵌套组合饼图
  11. 21世纪最牛逼思想家的心路历程小结———哲学、宿命论
  12. 来自Google的围棋AlphaGo
  13. 8月22-23日 【广州】《社区商业项目开发定位、规划、招商、运营与模式创新》
  14. html5 application cache 空间限制,HTML5离线存储之Application Cache
  15. SAP ABAP 数字类型精讲
  16. The Old Man and The Sea 老人与海 by Ernest Hemingway 欧内斯特-海明威
  17. 《金字塔原理》听书笔记
  18. python爬取新浪新闻
  19. css 去除 button 点击之后的默认样式
  20. 练习4/5(继承)Java

热门文章

  1. TypeScript基础教程
  2. Jupyter启动和快捷键大全
  3. PCIe 6.0 – 关于 PCI Express Gen6 您需要知道的一切
  4. MAUI 框架安卓入门开发01 界面设计
  5. cps配置之京东联盟篇
  6. 九阳破壁机Y910如何
  7. 安装Django教程
  8. 2.3 Swift的(Float)和(Double)浮点类型 [Swift原创教程]
  9. 轻量级ssh服务dropbear
  10. cherry-pick的定义和使用方法