oozie中Hive操作的作业队列

时间:2015-09-07 11:52:00

标签: hadoop hive bigdata oozie

我有一个oozie工作流程。我正在用

提交所有的蜂巢行动
<name>mapred.job.queue.name</name>
<value>${queueName}</value>

但是对于一些hive操作,启动的作业不在指定的队列中;它在默认队列中调用。

请告诉我这种行为和解决方案背后的原因。

2 个答案:

答案 0 :(得分:6)

:一种。 Oozie细节 Oozie将“常规”Hadoop属性传播到“常规”MapReduce Action。

但是对于Oozie在YARN中运行单个Mapper任务的其他类型的Action(Shell,Hive,Java等),它并不认为它是真正的MapReduce作业。因此,它使用不同的 未记录的属性始终带前缀oozie.launcher.例如,查看that post

因此,在您的情况下,要设置的实际属性为oozie.launcher.mapred.job.queue.name

<强> B中。 TEZ细节摘录自HortonWorks documentation

  

例如,在Hive中,您可以使用tez.queue.name属性    hive-site.xml 指定用于Hive-on-Tez作业的队列。至   分配Hive-on-Tez作业以使用“工程”队列,添加   以下属性为hive-site.xml:

<property>  <name>tez.queue.name</name> <value>engineering</value> </property>

答案 1 :(得分:0)

在我使用 Oozie 的情况下,似乎无法在 xml 标记中添加 --hiveconf tez.queue.name=myqueue。还尝试通过更新 hdfs 上的 hive-site.xml 并且仍然没有使用定义的队列。我最终通过在所需查询的开头添加以下内容来更新 .hql 文件:

# in your hql file
SET tez.queue.name=${myqueue};