根据。方案最右侧一栏是一个8G VM的分配方案,方案预留1-2G的内存给操作系统,分配4G给Yarn/MapReduce,当然也包括了HIVE,剩余的2-3G是在需要使用HBase时预留给HBase的。

内存调优

一、AM、Container大小设置
1、tez.am.resource.memory.mb  #设置 tez AM容器内存
  默认值:  
  配置文件:tez-site.xml
  建议:不小于或者等于yarn.scheduler.minimum-allocation-mb值。
  
hive.tez.container.size  #设置 tez container内存
  默认值:-
  默认情况下,Tez将生成一个mapper大小的容器。这可以用来覆盖默认值。
  配置文件:hive-site-xml
  建议:不小于或者是yarn.scheduler.minimum-allocation-mb的倍数
  
二、AM、Container JVM参数设置
1、tez.am.launch.cmd-opts  #设置 AM jvm,启动TEZ任务进程期间提供的命令行选项。
  默认值:-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC(用于GC),默认的大小:80%*tez.am.resource.memory.mb
  配置文件:tez-site.xml
  建议:不要在这些启动选项中设置任何xmx或xms,以便tez可以自动确定它们。
   2、
hive.tez.java.ops  #设置 container jvm
  默认值:Hortonworks建议“–server –Djava.net.preferIPv4Stack=true–XX:NewRatio=8 –XX:+UseNUMA –XX:UseG1G”,默认大小:80%*hive.tez.container.size
  说明:在hive 2.x的官方文档中没有找到这个参数。看有些博客里面有这个值。
  配置文件:hive-site.xml 3、tez.container.max.java.heap.fraction  #设置task/AM占用jvm内存大小的比例。
  默认值:0.8
  配置文件:tez-site.xml
  说明:这个值按具体需要调整,当内存不足时,一般都要调小。 三、Hive内存Map Join参数设置
1、tez.runtime.io.sort.mb  #设置输出排序内存大小
  默认值:100
  配置文件:
tez-site.xml
  建议:40%*hive.tez.container.size,一般不超过2G
2、
hive.auto.convert.join.noconditionaltask  #是否将多个mapjoin合并为一个
  默认值:true
  建议使用默认值。
  配置文件:hive-site.xml
3、hive.auto.convert.join.noconditionaltask.size
  默认值:10000000  (10M)
  说明:这个参数使用的前提是
hive.auto.convert.join.noconditionaltask值为true,多个mapjoin转换为1个时,所有小表的文件大小总和小于这个值,这个值只是限制输入的表文件的大小,并不代表实际mapjoin时hashtable的大小。 建议值:1/3* hive.tez.container.size
  
配置文件:hive-site.xml
4、tez.runtime.unordered.output.buffer.size-mb  #如果不直接写入磁盘,使用的缓冲区大小
  默认值:100M
 建议:10%* hive.tez.container.size
  配置文件:tez-site.xml 5、tez.am.container.reuse.enabled  #容器重用
  默认值:true
  配置文件:tez-ste.xml

hive tez调优(3)的更多相关文章

  1. 数据迁移过程中hive sql调优

    本文记录的是,在数据处理过程中,遇到了一个sql执行很慢,对一些大型的hive表还会出现OOM,一步一步通过参数的设置和sql优化,将其调优的过程. 先上sql ) t where t.num =1) ...

  2. Hive(十)Hive性能调优总结

    一.Fetch抓取 1.理论分析 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算.例如:SELECT * FROM employees;在这种情况下,Hive可以简单 ...

  3. Hive参数调优

    调优 Hive提供三种可以改变环境变量的方法,分别是: (1)修改${HIVE_HOME}/conf/hive-site.xml配置文件: 所有的默认配置都在${HIVE_HOME}/conf/hiv ...

  4. Hive 企业调优

    9.企业级调优 9.1 Fetch 抓取 Fetch 抓取:Hive 中对某些情况的查询可以不必使用 MapReduce 计算: hive.fetch.task.conversion:more 9.2 ...

  5. hive的调优

    调优 1 Fetch抓取(Hive可以避免进行MapReduce) Hive中对某些情况的查询可以不必使用MapReduce计算.例如:SELECT * FROM employees;在这种情况下,H ...

  6. HDP Hive性能调优

    (官方文档翻译整理及总结) 一.优化数据仓库 ① Hive LLAP  是一项接近实时结果查询的技术,可用于BI工具以及网络看板的应用,能够将数据仓库的查询时间缩短到15秒之内,这样的查询称之为Int ...

  7. 关于Hive的调优(本身,sql,mapreduce)

    1.关于hive的优化 ->大表拆分小表 ->过滤字段 ->按字段分类存放 ->外部表与分区表 ->外部表:删除时只删除元数据信息,不删除数据文件 多人使用多个外部表操作 ...

  8. 060 关于Hive的调优(本身,sql,mapreduce)

    1.关于hive的优化 ->大表拆分小表 ->过滤字段 ->按字段分类存放 ->外部表与分区表 ->外部表:删除时只删除元数据信息,不删除数据文件 多人使用多个外部表操作 ...

  9. Hive 性能调优

    避免执行MR select * or select field1,field2 limit 10 where语句中只有分区字段或该表的本地字段 使用本地set hive.exec.mode.local ...

随机推荐

  1. intel ipp6.0安装过程

    由于最近看到一个代码中使用了intel ipp6.0库,了解到,ipp6.0是一个很强大的图像处理库,将其与opencv联合使用,还能够加速opencv的处理,在图像处理的过程中,是一个很重要的工具. ...

  2. Win10开启蓝屏信息记录及文件查看位置的方法

    蓝屏,是电脑最常见的故障,一般出现蓝屏时都会显示详细的蓝屏错误信息,方便用户排查故障.但是如果系统未开启蓝屏记录,下文介绍蓝屏日志开启及蓝屏日志文件存放位置.我用的是win10系统 蓝屏日志开启方法步 ...

  3. 【OF框架】新建库表及对应实体,并实现简单的增删改查操作,封装操作标准WebApi

    准备 搭建好项目框架及数据库,了解框架规范. 1.数据库表和实体一一对应,表名实体名名字相同,用小写,下划线连接.字段名用驼峰命名法,首字母大写. 2.实体放在Entities目录下,继承Entity ...

  4. Windows——系统盘重置密码

    一.制作好系统启动U盘 软碟通自己制作即可 二.这进入到安装前界面按Shift+F10调出命令提示符 三.输入regedit后按回车进入注册表编辑器 四. 左键单击选中HKEY_LOCAL_MACHI ...

  5. PAT_B1013

    这道题就是一道打印素数表的题目,本人使用的是筛选法,用bool数组记录是否为素数,每一次筛掉本轮数字的倍数,如果当前数字bool数组对应位置为false,则为素数. 这道题的坑是:你不知道最大第100 ...

  6. 拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别

    一.引言 本来想记录一下关于用户登陆和登陆之后的权限管理.菜单管理的问题,想到解决这个问题用到Interceptor,但想到了Interceptor,就想到了Filter,于是就想说一下它们的执行顺序 ...

  7. 6. kafka序列化和反序列化

    https://blog.csdn.net/weixin_33690963/article/details/91698279 kafka序列化: 生产者在将消息传入kafka之前需要将其序列化成byt ...

  8. linux网络编程之socket编程(六)

    经过一个国庆长假,又有一段时间没有写博文了,今天继续对linux网络编程进行学习,如今的北京又全面进入雾霾天气了,让我突然想到了一句名句:“真爱生活,珍惜生命”,好了,言归正传. 回顾一下我们之间实现 ...

  9. DEVC++如何调试代码

    DEVC++小技巧 学习C语言的同学大多都会使用DEVC++这个软件,但是在使用的时候会发现是不可以调试的,因为我们的软件默认是将调试关闭了的.下面是调试的具体方法. 点击窗口的工具按钮 点击编辑按钮 ...

  10. python基础--文件控制

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...