aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/spark-sql2
-rw-r--r--core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala9
2 files changed, 11 insertions, 0 deletions
diff --git a/bin/spark-sql b/bin/spark-sql
index 63d00437d5..3b6cc420fe 100755
--- a/bin/spark-sql
+++ b/bin/spark-sql
@@ -23,6 +23,8 @@
# Enter posix mode for bash
set -o posix
+# NOTE: This exact class name is matched downstream by SparkSubmit.
+# Any changes need to be reflected there.
CLASS="org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver"
# Figure out where Spark is installed
diff --git a/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala b/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala
index 00f291823e..0c7d247519 100644
--- a/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala
+++ b/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala
@@ -142,6 +142,8 @@ object SparkSubmit {
printErrorAndExit("Cluster deploy mode is currently not supported for python applications.")
case (_, CLUSTER) if isShell(args.primaryResource) =>
printErrorAndExit("Cluster deploy mode is not applicable to Spark shells.")
+ case (_, CLUSTER) if isSqlShell(args.mainClass) =>
+ printErrorAndExit("Cluster deploy mode is not applicable to Spark SQL shell.")
case _ =>
}
@@ -394,6 +396,13 @@ object SparkSubmit {
}
/**
+ * Return whether the given main class represents a sql shell.
+ */
+ private[spark] def isSqlShell(mainClass: String): Boolean = {
+ mainClass == "org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver"
+ }
+
+ /**
* Return whether the given primary resource requires running python.
*/
private[spark] def isPython(primaryResource: String): Boolean = {