diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/HiveSparkClientFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/HiveSparkClientFactory.java index a832bf6..993d02b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/HiveSparkClientFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/HiveSparkClientFactory.java @@ -174,6 +174,15 @@ public static HiveSparkClient createHiveSparkClient(HiveConf hiveconf) throws Ex classes.add(HiveKey.class.getName()); sparkConf.put("spark.kryo.classesToRegister", Joiner.on(",").join(classes)); + // set yarn queue name + final String sparkQueueNameKey = "spark.yarn.queue"; + if (sparkMaster.startsWith("yarn") && hiveConf.get(sparkQueueNameKey) == null) { + String queueName = hiveConf.get("mapreduce.job.queuename"); + if (queueName != null) { + sparkConf.put(sparkQueueNameKey, queueName); + } + } + return sparkConf; }