hive 常用参数、参数优化_set hive,2024年最新大数据开发高级

方法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年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-tWEKnxSN-1712520526354)]

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值