Hive----优化参数

简介: 优化参数


set hive.exec.dynamic.partition=true;

--打开动态分区功能

set hive.exec.dynamic.partition.mode=nonstrict;

--将动态分区设为非严格模式

set hive.exec.dynamic.partition.mode=strict;

--将动态分区设为严格模式

set hive.exec.max.dynamic.partitions=1000;

--设置最大分区个数

set hive.enforce.bucketing=true;

--打开分桶模式

set mapreduce.job.reduces=-1;

--设置自动分区

set hive.exec.mode.local.auto=true;

--打开本地模式MR

set hive.exec.mode.local.auto.input.files.max=20

--设置本地最大输入文件个数

set hive.exec.mode.local.auto.inputbytes.max=1000000;

--设置本地最大输入文件大小

set hive.execution.engine=mr/spark

--设置hive的执行引擎,默认为mr

    1. set hive.auto.convert.join = true ;   -- hive是否自动根据文件量大小,选择将common join转成map join 。hive 0.10 版本后的默认值 true。
    2. set  hive.mapjoin.smalltable.filesize =25000000 ;大表小表判断的阈值,如果表的大小小于该值25Mb,则会被判定为小表。则会被加载到内存中运行,将commonjoin转化成mapjoin。一般这个值也就最多几百兆的样子。
    3. set  hive.auto.convert.join.noconditionaltask = true;  翻译官网的解释:是否启用基于输入文件的大小,将普通连接转化为Map连接的优化机制。假设参与连接的表(或分区)有N个,如果打开这个参数,并且有N-1个表(或分区)的大小总和小于hive.auto.convert.join.noconditionaltask.size参数指定的值,那么会直接将连接转为Map连接。(说人话:默认值:true,当将普通的join转化为普通的mapjoin时,是否将多个mapjoin转化为一个mapjoin,主要针对多个小表join大表的情形)

--开启mapjoin

--大小表join参数配置

set hive.cbo.enable=false

Hive 通过关闭CBO (Cost based Optimizer) 来优化特定的SQL执行,这个功能默认是开启的,在某些情况下反而会导致Query的执行效率降低

目录
相关文章
|
7月前
|
SQL 存储 分布式计算
Hive数据仓库设计与优化策略:面试经验与必备知识点解析
本文深入探讨了Hive数据仓库设计原则(分区、分桶、存储格式选择)与优化策略(SQL优化、内置优化器、统计信息、配置参数调整),并分享了面试经验及常见问题,如Hive与RDBMS的区别、实际项目应用和与其他组件的集成。通过代码样例,帮助读者掌握Hive核心技术,为面试做好充分准备。
590 0
|
SQL 分布式计算 Hadoop
55 Hive Shell参数
55 Hive Shell参数
56 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
61 2
|
7月前
|
SQL 分布式计算 资源调度
Hive 优化总结
Hive优化主要涉及HDFS和MapReduce的使用。问题包括数据倾斜、操作过多和不当使用。识别倾斜可通过检查分区文件大小或执行聚合抽样。解决方案包括整体优化模型设计,如星型、雪花模型,合理分区和分桶,以及压缩。内存管理需调整mapred和yarn参数。倾斜数据处理通过选择均衡连接键、使用map join和combiner。控制Mapper和Reducer数量以避免小文件和资源浪费。减少数据规模可调整存储格式和压缩,动态或静态分区管理,以及优化CBO和执行引擎设置。其他策略包括JVM重用、本地化运算和LLAP缓存。
150 4
Hive 优化总结
|
6月前
|
SQL 资源调度 数据库连接
Hive怎么调整优化Tez引擎的查询?在Tez上优化Hive查询的指南
在Tez上优化Hive查询,包括配置参数调整、理解并行化机制以及容器管理。关键步骤包括YARN调度器配置、安全阀设置、识别性能瓶颈(如mapper/reducer任务和连接操作),理解Tez如何动态调整mapper和reducer数量。例如,`tez.grouping.max-size` 影响mapper数量,`hive.exec.reducers.bytes.per.reducer` 控制reducer数量。调整并发和容器复用参数如`hive.server2.tez.sessions.per.default.queue` 和 `tez.am.container.reuse.enabled`
441 0
|
7月前
|
SQL 存储 大数据
Hive的查询、数据加载和交换、聚合、排序、优化
Hive的查询、数据加载和交换、聚合、排序、优化
138 2
|
7月前
|
SQL 存储 分布式计算
【Hive】Hive优化有哪些?
【4月更文挑战第16天】【Hive】Hive优化有哪些?
|
7月前
|
SQL 分布式计算 资源调度
一文看懂 Hive 优化大全(参数配置、语法优化)
以下是对提供的内容的摘要,总长度为240个字符: 在Hadoop集群中,服务器环境包括3台机器,分别运行不同的服务,如NodeManager、DataNode、NameNode等。集群组件版本包括jdk 1.8、mysql 5.7、hadoop 3.1.3和hive 3.1.2。文章讨论了YARN的配置优化,如`yarn.nodemanager.resource.memory-mb`、`yarn.nodemanager.vmem-check-enabled`和`hive.map.aggr`等参数,以及Map-Side聚合优化、Map Join和Bucket Map Join。
350 0
|
7月前
|
SQL 分布式计算 Hadoop
Hive SQL 优化
Hive SQL 优化
100 1
|
7月前
|
SQL 存储 关系型数据库
Presto【实践 01】Presto查询性能优化(数据存储+SQL优化+无缝替换Hive表+注意事项)及9个实践问题分享
Presto【实践 01】Presto查询性能优化(数据存储+SQL优化+无缝替换Hive表+注意事项)及9个实践问题分享
765 0