方法2:hive cli 登录时使用
hive --hiveconf mapreduce.job.queuename=queue_name;
hive --hiveconf mapreduce.job.queuename=xxx
以上两个方法都是针对当前会话有效
方法3:修改hive-site.xml文件
1.2 如果使用的是 tez:
set tez.queue.name=queue_name;
queue_name :是要设置的队列的名称;
hive默认使用的是mr
set hive.execution.engine=tez;
set mapreduce.job.queuename=root.default;
设置队列,tez引擎,Tez引擎是纯内存操作
set hive.execution.engine=tez;
set tez.queue.name=root.default;
2、解决OOM的参数
set tez.am.task.max.failed.attempts=10;
set tez.am.max.app.attempts=5;
set hive.tez.java.opts=-Xmx6144m;
配置Map任务的Java参数,如果任务处理的数据量过大,可以适当调节该参数,避免OOM(内存溢出)
set hive.tez.container.size=8192;
3、开启动态分区参数:
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partitions.pernode=1000;
set hive.exec.dynamic.partition=true; --默认:false
set hive.exec.dynamic.partition.mode = nonstrict; --默认:strict
set hive.exec.dynamic.partitions=10000; --分区最大数:如果按天分区的话设置10000足够了
4、使用场景:使用正则表达式来筛选字段
set hive.support.quoted.identifiers=none;
–反引号不在解释为其他含义,被解释为正则表达式
set hive.support.quoted.identifiers = none;
示例1:过滤掉不需要的列名(字段要用小括号包裹)
select (id|name)?+.+
from user_info;
示例2:模糊匹配有相似性的列名
select .+score
from user_info;
5、hive锁机制
set hive.support.concurrency=false;
set hive.support.concurrency=false;
在 session 中关闭锁,这个参数为 false 既能保证session忽略任何锁强行操作数据,又能保证session里的SQL对表不加任何锁。
hive 目前主要有两种锁,SHARED(共享锁 S)和 Exclusive(排他锁 X)。其中只触发S锁的操作可以并发执行,只要有一个操作对表或者分区触发了X锁,则该表或者分区不能并发的执行作业。
总结起来就是:
1、查询操作使用共享锁,共享锁是可以多重、并发使用的多个查询同时访问一个表是可以的,同时使用共享锁
2、修改表操作使用独占锁,它会阻止其他的查询、修改操作
当修改表的时候,使用独占锁,所以此时没办法执行查询
3、可以对分区使用锁
对一个分区上锁,不影响其他分区使用
参考链接:hive锁机制
https://blog.csdn.net/Samooyou/article/details/125005500
6、开启向量执行模式
开启hive.vectorized.execution.enabled操作,默认是关闭状态,将一个普通的查询转化为向量化查询执行是一个Hive 特性。
它大大减少了扫描、过滤器、聚合和连接等典型查询操作的CPU 使用。
标准查询执行,系统一次处理一行。矢量化查询执行,可以一次性处理1024行的数据块,以减少底层操作系统处理数据时的指令和上下文切换
set hive.vectorized.execution.enabled=false;
set hive.vectorized.execution.enabled = true;
开启向量模式,默认值是false
相当于从原本的map逐行处理数据变成了批量处理数据,从处理一行到一次性处理多行,减少了cpu指令和cpu上下文切换.
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-tWEKnxSN-1712520526354)]