diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 53ef428..bea08ee 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -2686,7 +2686,8 @@ public boolean isHiddenConfig(String name) { private boolean isSparkRelatedConfig(String name) { boolean result = false; if (name.startsWith("spark")) { // Spark property. - result = true; + // for now we don't support changing spark app name on the fly + result = !name.equals("spark.app.name"); } else if (name.startsWith("yarn")) { // YARN property in Spark on YARN mode. String sparkMaster = get("spark.master"); if (sparkMaster != null && 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 9b2dce3..a832bf6 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 @@ -72,7 +72,12 @@ public static HiveSparkClient createHiveSparkClient(HiveConf hiveconf) throws Ex // set default spark configurations. sparkConf.put("spark.master", SPARK_DEFAULT_MASTER); - sparkConf.put("spark.app.name", SPARK_DEFAULT_APP_NAME); + final String appNameKey = "spark.app.name"; + String appName = hiveConf.get(appNameKey); + if (appName == null) { + appName = SPARK_DEFAULT_APP_NAME; + } + sparkConf.put(appNameKey, appName); sparkConf.put("spark.serializer", SPARK_DEFAULT_SERIALIZER); sparkConf.put("spark.kryo.referenceTracking", SPARK_DEFAULT_REFERENCE_TRACKING);