我有一个oozie工作流程。我正在用
提交所有的蜂巢行动<name>mapred.job.queue.name</name>
<value>${queueName}</value>
但是对于一些hive操作,启动的作业不在指定的队列中;它在默认队列中调用。
请告诉我这种行为和解决方案背后的原因。
答案 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};