在YARN集群中,向Hive任务指定提交队列的方式主要通过以下步骤实现:

一、永久性配置(修改Hive配置文件)
-
修改
<property> <name>mapreduce.job.queuename</name> <value>your_queue_name</value> </property>hive-site.xml文件,添加队列参数:
此配置对所有Hive会话生效。
二、临时指定(会话级覆盖)
在Hive CLI/Beeline会话中动态设置:
SET mapreduce.job.queuename=your_queue_name;
此配置仅对当前会话生效。
三、任务级指定(HiveQL语句中)
在具体查询前添加设置指令:
SET mapreduce.job.queuename=high_priority_queue;
SELECT ... FROM ...; -- 实际查询语句
四、验证队列生效
提交任务后,通过YARN ResourceManager UI查看:
- 访问
http://<rm-host>:8088/cluster/apps - 在应用列表中确认
Queue列显示指定队列名
注意事项
-
队列名需与YARN中预先配置的队列一致(通过
capacity-scheduler.xml定义) -
权限要求:用户需具有目标队列的提交权限
-
资源限制:队列资源不足时任务可能等待或失败
示例:提交到名为 "bi_queue" 的队列
hive -e "SET mapreduce.job.queuename=bi_queue; SELECT COUNT(*) FROM sales;"