Skip to content

Commit e7f70a3

Browse files
Merge remote-tracking branch 'asf-git/master'
Conflicts: project/SparkBuild.scala
2 parents 96cfb6f + 39ab87b commit e7f70a3

File tree

69 files changed

+2369
-345
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+2369
-345
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,4 @@ metastore_db/
5858
metastore/
5959
warehouse/
6060
TempStatsStore/
61+
sql/hive-thriftserver/test_warehouses

assembly/pom.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,16 @@
165165
</dependency>
166166
</dependencies>
167167
</profile>
168+
<profile>
169+
<id>hive-thriftserver</id>
170+
<dependencies>
171+
<dependency>
172+
<groupId>org.apache.spark</groupId>
173+
<artifactId>spark-hive-thriftserver_${scala.binary.version}</artifactId>
174+
<version>${project.version}</version>
175+
</dependency>
176+
</dependencies>
177+
</profile>
168178
<profile>
169179
<id>spark-ganglia-lgpl</id>
170180
<dependencies>

bagel/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<groupId>org.apache.spark</groupId>
2929
<artifactId>spark-bagel_2.10</artifactId>
3030
<properties>
31-
<sbt.project.name>bagel</sbt.project.name>
31+
<sbt.project.name>bagel</sbt.project.name>
3232
</properties>
3333
<packaging>jar</packaging>
3434
<name>Spark Project Bagel</name>

bin/beeline

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/usr/bin/env bash
2+
3+
#
4+
# Licensed to the Apache Software Foundation (ASF) under one or more
5+
# contributor license agreements. See the NOTICE file distributed with
6+
# this work for additional information regarding copyright ownership.
7+
# The ASF licenses this file to You under the Apache License, Version 2.0
8+
# (the "License"); you may not use this file except in compliance with
9+
# the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing, software
14+
# distributed under the License is distributed on an "AS IS" BASIS,
15+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
# See the License for the specific language governing permissions and
17+
# limitations under the License.
18+
#
19+
20+
# Figure out where Spark is installed
21+
FWDIR="$(cd `dirname $0`/..; pwd)"
22+
23+
# Find the java binary
24+
if [ -n "${JAVA_HOME}" ]; then
25+
RUNNER="${JAVA_HOME}/bin/java"
26+
else
27+
if [ `command -v java` ]; then
28+
RUNNER="java"
29+
else
30+
echo "JAVA_HOME is not set" >&2
31+
exit 1
32+
fi
33+
fi
34+
35+
# Compute classpath using external script
36+
classpath_output=$($FWDIR/bin/compute-classpath.sh)
37+
if [[ "$?" != "0" ]]; then
38+
echo "$classpath_output"
39+
exit 1
40+
else
41+
CLASSPATH=$classpath_output
42+
fi
43+
44+
CLASS="org.apache.hive.beeline.BeeLine"
45+
exec "$RUNNER" -cp "$CLASSPATH" $CLASS "$@"

bin/compute-classpath.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ if [ -n "$SPARK_PREPEND_CLASSES" ]; then
5252
CLASSPATH="$CLASSPATH:$FWDIR/sql/catalyst/target/scala-$SCALA_VERSION/classes"
5353
CLASSPATH="$CLASSPATH:$FWDIR/sql/core/target/scala-$SCALA_VERSION/classes"
5454
CLASSPATH="$CLASSPATH:$FWDIR/sql/hive/target/scala-$SCALA_VERSION/classes"
55+
CLASSPATH="$CLASSPATH:$FWDIR/sql/hive-thriftserver/target/scala-$SCALA_VERSION/classes"
5556
CLASSPATH="$CLASSPATH:$FWDIR/yarn/stable/target/scala-$SCALA_VERSION/classes"
5657
fi
5758

bin/spark-shell

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ function main(){
4646
# (see https://github.com/sbt/sbt/issues/562).
4747
stty -icanon min 1 -echo > /dev/null 2>&1
4848
export SPARK_SUBMIT_OPTS="$SPARK_SUBMIT_OPTS -Djline.terminal=unix"
49-
$FWDIR/bin/spark-submit spark-shell "$@" --class org.apache.spark.repl.Main
49+
$FWDIR/bin/spark-submit --class org.apache.spark.repl.Main spark-shell "$@"
5050
stty icanon echo > /dev/null 2>&1
5151
else
5252
export SPARK_SUBMIT_OPTS
53-
$FWDIR/bin/spark-submit spark-shell "$@" --class org.apache.spark.repl.Main
53+
$FWDIR/bin/spark-submit --class org.apache.spark.repl.Main spark-shell "$@"
5454
fi
5555
}
5656

bin/spark-shell.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ rem
1919

2020
set SPARK_HOME=%~dp0..
2121

22-
cmd /V /E /C %SPARK_HOME%\bin\spark-submit.cmd spark-shell %* --class org.apache.spark.repl.Main
22+
cmd /V /E /C %SPARK_HOME%\bin\spark-submit.cmd spark-shell --class org.apache.spark.repl.Main %*

bin/spark-sql

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/usr/bin/env bash
2+
3+
#
4+
# Licensed to the Apache Software Foundation (ASF) under one or more
5+
# contributor license agreements. See the NOTICE file distributed with
6+
# this work for additional information regarding copyright ownership.
7+
# The ASF licenses this file to You under the Apache License, Version 2.0
8+
# (the "License"); you may not use this file except in compliance with
9+
# the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing, software
14+
# distributed under the License is distributed on an "AS IS" BASIS,
15+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
# See the License for the specific language governing permissions and
17+
# limitations under the License.
18+
#
19+
20+
#
21+
# Shell script for starting the Spark SQL CLI
22+
23+
# Enter posix mode for bash
24+
set -o posix
25+
26+
# Figure out where Spark is installed
27+
FWDIR="$(cd `dirname $0`/..; pwd)"
28+
29+
if [[ "$@" = *--help ]] || [[ "$@" = *-h ]]; then
30+
echo "Usage: ./sbin/spark-sql [options]"
31+
$FWDIR/bin/spark-submit --help 2>&1 | grep -v Usage 1>&2
32+
exit 0
33+
fi
34+
35+
CLASS="org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver"
36+
exec "$FWDIR"/bin/spark-submit --class $CLASS spark-internal $@

core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<groupId>org.apache.spark</groupId>
2929
<artifactId>spark-core_2.10</artifactId>
3030
<properties>
31-
<sbt.project.name>core</sbt.project.name>
31+
<sbt.project.name>core</sbt.project.name>
3232
</properties>
3333
<packaging>jar</packaging>
3434
<name>Spark Project Core</name>

core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ object SparkSubmit {
4646
private val CLUSTER = 2
4747
private val ALL_DEPLOY_MODES = CLIENT | CLUSTER
4848

49+
// A special jar name that indicates the class being run is inside of Spark itself, and therefore
50+
// no user jar is needed.
51+
private val SPARK_INTERNAL = "spark-internal"
52+
4953
// Special primary resource names that represent shells rather than application jars.
5054
private val SPARK_SHELL = "spark-shell"
5155
private val PYSPARK_SHELL = "pyspark-shell"
@@ -257,7 +261,9 @@ object SparkSubmit {
257261
// In yarn-cluster mode, use yarn.Client as a wrapper around the user class
258262
if (clusterManager == YARN && deployMode == CLUSTER) {
259263
childMainClass = "org.apache.spark.deploy.yarn.Client"
260-
childArgs += ("--jar", args.primaryResource)
264+
if (args.primaryResource != SPARK_INTERNAL) {
265+
childArgs += ("--jar", args.primaryResource)
266+
}
261267
childArgs += ("--class", args.mainClass)
262268
if (args.childArgs != null) {
263269
args.childArgs.foreach { arg => childArgs += ("--arg", arg) }
@@ -332,7 +338,7 @@ object SparkSubmit {
332338
* Return whether the given primary resource represents a user jar.
333339
*/
334340
private def isUserJar(primaryResource: String): Boolean = {
335-
!isShell(primaryResource) && !isPython(primaryResource)
341+
!isShell(primaryResource) && !isPython(primaryResource) && !isInternal(primaryResource)
336342
}
337343

338344
/**
@@ -349,6 +355,10 @@ object SparkSubmit {
349355
primaryResource.endsWith(".py") || primaryResource == PYSPARK_SHELL
350356
}
351357

358+
private[spark] def isInternal(primaryResource: String): Boolean = {
359+
primaryResource == SPARK_INTERNAL
360+
}
361+
352362
/**
353363
* Merge a sequence of comma-separated file lists, some of which may be null to indicate
354364
* no files, into a single comma-separated string.

core/src/main/scala/org/apache/spark/deploy/SparkSubmitArguments.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,9 @@ private[spark] class SparkSubmitArguments(args: Seq[String]) {
204204

205205
/** Fill in values by parsing user options. */
206206
private def parseOpts(opts: Seq[String]): Unit = {
207-
// Delineates parsing of Spark options from parsing of user options.
208207
var inSparkOpts = true
208+
209+
// Delineates parsing of Spark options from parsing of user options.
209210
parse(opts)
210211

211212
def parse(opts: Seq[String]): Unit = opts match {
@@ -318,7 +319,7 @@ private[spark] class SparkSubmitArguments(args: Seq[String]) {
318319
SparkSubmit.printErrorAndExit(errMessage)
319320
case v =>
320321
primaryResource =
321-
if (!SparkSubmit.isShell(v)) {
322+
if (!SparkSubmit.isShell(v) && !SparkSubmit.isInternal(v)) {
322323
Utils.resolveURI(v).toString
323324
} else {
324325
v

core/src/main/scala/org/apache/spark/util/SignalLogger.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
package org.apache.spark.util
1919

20-
import org.apache.commons.lang.SystemUtils
20+
import org.apache.commons.lang3.SystemUtils
2121
import org.slf4j.Logger
2222
import sun.misc.{Signal, SignalHandler}
2323

dev/create-release/create-release.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ if [[ ! "$@" =~ --package-only ]]; then
5353
-Dusername=$GIT_USERNAME -Dpassword=$GIT_PASSWORD \
5454
-Dmaven.javadoc.skip=true \
5555
-Dhadoop.version=2.2.0 -Dyarn.version=2.2.0 \
56-
-Pyarn -Phive -Phadoop-2.2 -Pspark-ganglia-lgpl\
56+
-Pyarn -Phive -Phive-thriftserver -Phadoop-2.2 -Pspark-ganglia-lgpl\
5757
-Dtag=$GIT_TAG -DautoVersionSubmodules=true \
5858
--batch-mode release:prepare
5959

6060
mvn -DskipTests \
6161
-Darguments="-DskipTests=true -Dmaven.javadoc.skip=true -Dhadoop.version=2.2.0 -Dyarn.version=2.2.0 -Dgpg.passphrase=${GPG_PASSPHRASE}" \
6262
-Dhadoop.version=2.2.0 -Dyarn.version=2.2.0 \
6363
-Dmaven.javadoc.skip=true \
64-
-Pyarn -Phive -Phadoop-2.2 -Pspark-ganglia-lgpl\
64+
-Pyarn -Phive -Phive-thriftserver -Phadoop-2.2 -Pspark-ganglia-lgpl\
6565
release:perform
6666

6767
cd ..
@@ -111,10 +111,10 @@ make_binary_release() {
111111
spark-$RELEASE_VERSION-bin-$NAME.tgz.sha
112112
}
113113

114-
make_binary_release "hadoop1" "-Phive -Dhadoop.version=1.0.4"
115-
make_binary_release "cdh4" "-Phive -Dhadoop.version=2.0.0-mr1-cdh4.2.0"
114+
make_binary_release "hadoop1" "-Phive -Phive-thriftserver -Dhadoop.version=1.0.4"
115+
make_binary_release "cdh4" "-Phive -Phive-thriftserver -Dhadoop.version=2.0.0-mr1-cdh4.2.0"
116116
make_binary_release "hadoop2" \
117-
"-Phive -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2.0 -Pyarn.version=2.2.0"
117+
"-Phive -Phive-thriftserver -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2.0 -Pyarn.version=2.2.0"
118118

119119
# Copy data
120120
echo "Copying release tarballs"

dev/run-tests

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ echo "========================================================================="
6565
# (either resolution or compilation) prompts the user for input either q, r,
6666
# etc to quit or retry. This echo is there to make it not block.
6767
if [ -n "$_RUN_SQL_TESTS" ]; then
68-
echo -e "q\n" | SBT_MAVEN_PROFILES="$SBT_MAVEN_PROFILES -Phive" sbt/sbt clean package \
68+
echo -e "q\n" | SBT_MAVEN_PROFILES="$SBT_MAVEN_PROFILES -Phive -Phive-thriftserver" sbt/sbt clean package \
6969
assembly/assembly test | grep -v -e "info.*Resolving" -e "warn.*Merging" -e "info.*Including"
7070
else
7171
echo -e "q\n" | sbt/sbt clean package assembly/assembly test | \

dev/scalastyle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# limitations under the License.
1818
#
1919

20-
echo -e "q\n" | sbt/sbt -Phive scalastyle > scalastyle.txt
20+
echo -e "q\n" | sbt/sbt -Phive -Phive-thriftserver scalastyle > scalastyle.txt
2121
# Check style with YARN alpha built too
2222
echo -e "q\n" | sbt/sbt -Pyarn -Phadoop-0.23 -Dhadoop.version=0.23.9 yarn-alpha/scalastyle \
2323
>> scalastyle.txt

0 commit comments

Comments
 (0)