hive tez调优(3)
根据。方案最右侧一栏是一个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)的更多相关文章
- 数据迁移过程中hive sql调优
本文记录的是,在数据处理过程中,遇到了一个sql执行很慢,对一些大型的hive表还会出现OOM,一步一步通过参数的设置和sql优化,将其调优的过程. 先上sql ) t where t.num =1) ...
- Hive(十)Hive性能调优总结
一.Fetch抓取 1.理论分析 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算.例如:SELECT * FROM employees;在这种情况下,Hive可以简单 ...
- Hive参数调优
调优 Hive提供三种可以改变环境变量的方法,分别是: (1)修改${HIVE_HOME}/conf/hive-site.xml配置文件: 所有的默认配置都在${HIVE_HOME}/conf/hiv ...
- Hive 企业调优
9.企业级调优 9.1 Fetch 抓取 Fetch 抓取:Hive 中对某些情况的查询可以不必使用 MapReduce 计算: hive.fetch.task.conversion:more 9.2 ...
- hive的调优
调优 1 Fetch抓取(Hive可以避免进行MapReduce) Hive中对某些情况的查询可以不必使用MapReduce计算.例如:SELECT * FROM employees;在这种情况下,H ...
- HDP Hive性能调优
(官方文档翻译整理及总结) 一.优化数据仓库 ① Hive LLAP 是一项接近实时结果查询的技术,可用于BI工具以及网络看板的应用,能够将数据仓库的查询时间缩短到15秒之内,这样的查询称之为Int ...
- 关于Hive的调优(本身,sql,mapreduce)
1.关于hive的优化 ->大表拆分小表 ->过滤字段 ->按字段分类存放 ->外部表与分区表 ->外部表:删除时只删除元数据信息,不删除数据文件 多人使用多个外部表操作 ...
- 060 关于Hive的调优(本身,sql,mapreduce)
1.关于hive的优化 ->大表拆分小表 ->过滤字段 ->按字段分类存放 ->外部表与分区表 ->外部表:删除时只删除元数据信息,不删除数据文件 多人使用多个外部表操作 ...
- Hive 性能调优
避免执行MR select * or select field1,field2 limit 10 where语句中只有分区字段或该表的本地字段 使用本地set hive.exec.mode.local ...
随机推荐
- 查询慢SQL
可以查看当前时间访问库的所有请求SQL SELECT COUNT(*) AS c,state,info FROM `information_schema`.processlist GROUP B ...
- ABP 基于DDD的.NET开发框架 学习(一)
ABP总体介绍 ABP是ASP.NET Boilerplate Project,ASP.NET样板项目. ABP框架定位于快速开发 ABP是一个用于最快实践和流行开发现代Web应用程序的新起点,旨在成 ...
- android studio 开发环境配置
android studio 开发环境配置 参考: 第一次使用Android Studio时你应该知道的一切配置 https://www.cnblogs.com/qianguyihao/p/43909 ...
- element-ui中使用表单验证的问题
<el-form ref="ruleRules" :inline="true" :model="ruleInfo"> <e ...
- 简单理解undefine和null的区别
直接进入主题: 相同点:都表示“值的空缺” 不同点: null: 定义:一个空对象指针. 使用typeOf得到Object,相当于是一个特殊值 undefine: 定义:声明变量却未对其加以初始化的变 ...
- you might not need jquery
What's the oldest version of IE you need to support? IE10 /**json**/ var request = new XMLHttpReques ...
- ble编程-外设发送数据到中心
一.外设 1.在外设的.h文件中定义如下 1 //周边管理者 2 3 @property (nonatomic , strong) CBPeripheralManager *peripheralM ...
- jdk代理与cglib代理
1. jdk静态代理 jdk静态代理主要使用硬编码实现.他通过对在代理类中持有委托类的引用,来打到在委托类方法执行前和执行后进行处理,实现简单,容易理解. 代码如下: 1.业务逻辑接口 package ...
- Pyspark:AssertionError: dataType should be DataType
1. schema参数,AssertionError: dataType should be DataType # AssertionError: dataType should be DataTyp ...
- IIS 自动化发布工具实现【一】
[持续更新中啦] 过去一年,有在尝试做.net 这块的开发运维工作.基于现在的开发场景,写了一套差异发布工具.后面用python重写了一套,现学现卖. 主要功能: 差异打包.自动发布.自动回滚 实现架 ...