Merge branch 'master' into wip-merge-master Conflicts: bagel/pom.xml core/pom.xml core/src/test/scala/org/apache/spark/ui/UISuite.scala examples/pom.xml mllib/pom.xml pom.xml project/SparkBuild.scala repl/pom.xml streaming/pom.xml tools/pom.xml
In scala 2.10, a shorter representation is used for naming artifacts so changed to shorter scala version for artifacts and made it a property in pom. Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/7be75682 Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/7be75682 Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/7be75682 Branch: refs/heads/scala-2.10 Commit: 7be75682b931dd52014f3cfdc6887e54583ad0af Parents: 3e41495 ea34c52 Author: Prashant Sharma <prashan...@imaginea.com> Authored: Tue Oct 8 11:29:40 2013 +0530 Committer: Prashant Sharma <prashan...@imaginea.com> Committed: Tue Oct 8 11:29:40 2013 +0530 ---------------------------------------------------------------------- assembly/pom.xml | 18 +-- bagel/pom.xml | 4 +- core/pom.xml | 11 +- .../scala/org/apache/spark/CacheManager.scala | 21 +-- .../scala/org/apache/spark/SparkContext.scala | 39 ++++-- .../spark/api/python/PythonPartitioner.scala | 10 +- .../org/apache/spark/api/python/PythonRDD.scala | 6 +- .../org/apache/spark/deploy/JsonProtocol.scala | 3 +- .../apache/spark/deploy/SparkHadoopUtil.scala | 12 +- .../scala/org/apache/spark/rdd/HadoopRDD.scala | 140 ++++++++++++++++--- .../org/apache/spark/storage/BlockManager.scala | 12 +- .../scala/org/apache/spark/util/Utils.scala | 13 ++ .../spark/scheduler/SparkListenerSuite.scala | 6 +- .../scala/org/apache/spark/ui/UISuite.scala | 7 + .../org/apache/spark/util/UtilsSuite.scala | 11 ++ docs/_layouts/global.html | 4 +- ec2/spark_ec2.py | 4 +- examples/pom.xml | 26 +++- mllib/pom.xml | 8 +- pom.xml | 3 +- project/SparkBuild.scala | 14 +- python/pyspark/rdd.py | 10 +- python/pyspark/serializers.py | 4 + repl-bin/pom.xml | 10 +- repl/pom.xml | 16 +-- streaming/pom.xml | 5 +- tools/pom.xml | 6 +- yarn/pom.xml | 6 +- 28 files changed, 314 insertions(+), 115 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/assembly/pom.xml ---------------------------------------------------------------------- diff --cc assembly/pom.xml index f9c8b97,09df8c1..28b0692 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@@ -26,7 -26,7 +26,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-assembly</artifactId> - <artifactId>spark-assembly_2.9.3</artifactId> ++ <artifactId>spark-assembly_${scala-short.version}</artifactId> <name>Spark Project Assembly</name> <url>http://spark.incubator.apache.org/</url> @@@ -41,27 -41,27 +41,27 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-bagel</artifactId> - <artifactId>spark-bagel_2.9.3</artifactId> ++ <artifactId>spark-bagel_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-mllib</artifactId> - <artifactId>spark-mllib_2.9.3</artifactId> ++ <artifactId>spark-mllib_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-repl</artifactId> - <artifactId>spark-repl_2.9.3</artifactId> ++ <artifactId>spark-repl_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-streaming</artifactId> - <artifactId>spark-streaming_2.9.3</artifactId> ++ <artifactId>spark-streaming_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> @@@ -128,7 -128,7 +128,7 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-yarn</artifactId> - <artifactId>spark-yarn_2.9.3</artifactId> ++ <artifactId>spark-yarn_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> </dependencies> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/bagel/pom.xml ---------------------------------------------------------------------- diff --cc bagel/pom.xml index 271ab6c,0e552c8..c8b9c4f --- a/bagel/pom.xml +++ b/bagel/pom.xml @@@ -26,7 -26,7 +26,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-bagel</artifactId> - <artifactId>spark-bagel_2.9.3</artifactId> ++ <artifactId>spark-bagel_${scala-short.version}</artifactId> <packaging>jar</packaging> <name>Spark Project Bagel</name> <url>http://spark.incubator.apache.org/</url> @@@ -34,7 -34,7 +34,7 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/core/pom.xml ---------------------------------------------------------------------- diff --cc core/pom.xml index 2ec8fa6,d694508..595240b --- a/core/pom.xml +++ b/core/pom.xml @@@ -26,7 -26,7 +26,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <packaging>jar</packaging> <name>Spark Project Core</name> <url>http://spark.incubator.apache.org/</url> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/core/src/main/scala/org/apache/spark/SparkContext.scala ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/core/src/main/scala/org/apache/spark/api/python/PythonRDD.scala ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/core/src/main/scala/org/apache/spark/storage/BlockManager.scala ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/core/src/main/scala/org/apache/spark/util/Utils.scala ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/core/src/test/scala/org/apache/spark/ui/UISuite.scala ---------------------------------------------------------------------- diff --cc core/src/test/scala/org/apache/spark/ui/UISuite.scala index f4e1d4e,8f0ec66..3764f4d --- a/core/src/test/scala/org/apache/spark/ui/UISuite.scala +++ b/core/src/test/scala/org/apache/spark/ui/UISuite.scala @@@ -25,8 -25,16 +25,15 @@@ import org.eclipse.jetty.server.Serve class UISuite extends FunSuite { test("jetty port increases under contention") { val startPort = 4040 + val server = new Server(startPort) + + Try { server.start() } match { + case Success(s) => + case Failure(e) => + // Either case server port is busy hence setup for test complete + } val (jettyServer1, boundPort1) = JettyUtils.startJettyServer("localhost", startPort, Seq()) val (jettyServer2, boundPort2) = JettyUtils.startJettyServer("localhost", startPort, Seq()) - // Allow some wiggle room in case ports on the machine are under contention assert(boundPort1 > startPort && boundPort1 < startPort + 10) assert(boundPort2 > boundPort1 && boundPort2 < boundPort1 + 10) http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/examples/pom.xml ---------------------------------------------------------------------- diff --cc examples/pom.xml index 3c0a8d0,b8c020a..c6c9def --- a/examples/pom.xml +++ b/examples/pom.xml @@@ -26,7 -26,7 +26,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-examples</artifactId> - <artifactId>spark-examples_2.9.3</artifactId> ++ <artifactId>spark-examples_${scala-short.version}</artifactId> <packaging>jar</packaging> <name>Spark Project Examples</name> <url>http://spark.incubator.apache.org/</url> @@@ -34,25 -42,25 +42,25 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-streaming</artifactId> - <artifactId>spark-streaming_2.9.3</artifactId> ++ <artifactId>spark-streaming_${scala-short.version}</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-mllib</artifactId> - <artifactId>spark-mllib_2.9.3</artifactId> ++ <artifactId>spark-mllib_${scala-short.version}</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-bagel</artifactId> - <artifactId>spark-bagel_2.9.3</artifactId> ++ <artifactId>spark-bagel_${scala-short.version}</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/mllib/pom.xml ---------------------------------------------------------------------- diff --cc mllib/pom.xml index 4cff5e3,f472082..a57bdde --- a/mllib/pom.xml +++ b/mllib/pom.xml @@@ -26,7 -26,7 +26,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-mllib</artifactId> - <artifactId>spark-mllib_2.9.3</artifactId> ++ <artifactId>spark-mllib_${scala-short.version}</artifactId> <packaging>jar</packaging> <name>Spark Project ML Library</name> <url>http://spark.incubator.apache.org/</url> @@@ -34,7 -34,7 +34,7 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> @@@ -48,12 -48,12 +48,12 @@@ </dependency> <dependency> <groupId>org.scalatest</groupId> - <artifactId>scalatest_2.10</artifactId> - <artifactId>scalatest_2.9.3</artifactId> ++ <artifactId>scalatest_${scala-short.version}</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.scalacheck</groupId> - <artifactId>scalacheck_2.10</artifactId> - <artifactId>scalacheck_2.9.3</artifactId> ++ <artifactId>scalacheck_${scala-short.version}</artifactId> <scope>test</scope> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/project/SparkBuild.scala ---------------------------------------------------------------------- diff --cc project/SparkBuild.scala index 19d3aa2,eb4b96e..2c63c0f --- a/project/SparkBuild.scala +++ b/project/SparkBuild.scala @@@ -153,17 -156,14 +153,18 @@@ object SparkBuild extends Build */ + libraryDependencies ++= Seq( - "org.eclipse.jetty" % "jetty-server" % "7.6.8.v20121106", - "org.scalatest" %% "scalatest" % "1.9.1" % "test", - "org.scalacheck" %% "scalacheck" % "1.10.0" % "test", - "com.novocode" % "junit-interface" % "0.9" % "test", - "org.easymock" % "easymock" % "3.1" % "test" + "io.netty" % "netty-all" % "4.0.0.CR1", + "org.eclipse.jetty" % "jetty-server" % "7.6.8.v20121106", + "org.scalatest" %% "scalatest" % "1.9.1" % "test", + "org.scalacheck" %% "scalacheck" % "1.10.0" % "test", + "com.novocode" % "junit-interface" % "0.9" % "test", + "org.easymock" % "easymock" % "3.1" % "test", + "commons-io" % "commons-io" % "2.4" % "test" ), + + parallelExecution := false, /* Workaround for issue #206 (fixed after SBT 0.11.0) */ watchTransitiveSources <<= Defaults.inDependencies[Task[Seq[File]]](watchSources.task, const(std.TaskExtra.constant(Nil)), aggregate = true, includeRoot = true) apply { _.join.map(_.flatten) }, @@@ -192,35 -193,36 +194,34 @@@ ), libraryDependencies ++= Seq( - "com.google.guava" % "guava" % "14.0.1", - "com.google.code.findbugs" % "jsr305" % "1.3.9", - "log4j" % "log4j" % "1.2.17", - "org.slf4j" % "slf4j-api" % slf4jVersion, - "org.slf4j" % "slf4j-log4j12" % slf4jVersion, - "commons-daemon" % "commons-daemon" % "1.0.10", // workaround for bug HADOOP-9407 - "com.ning" % "compress-lzf" % "0.8.4", - "org.xerial.snappy" % "snappy-java" % "1.0.5", - "org.ow2.asm" % "asm" % "4.0", - "com.google.protobuf" % "protobuf-java" % "2.4.1", - "com.typesafe.akka" % "akka-actor" % "2.0.5" excludeAll(excludeNetty), - "com.typesafe.akka" % "akka-remote" % "2.0.5" excludeAll(excludeNetty), - "com.typesafe.akka" % "akka-slf4j" % "2.0.5" excludeAll(excludeNetty), - "it.unimi.dsi" % "fastutil" % "6.4.4", - "colt" % "colt" % "1.2.0", - "net.liftweb" % "lift-json_2.9.2" % "2.5", - "org.apache.mesos" % "mesos" % "0.13.0", - "io.netty" % "netty-all" % "4.0.0.Beta2", - "org.apache.derby" % "derby" % "10.4.2.0" % "test", - "org.apache.hadoop" % "hadoop-client" % hadoopVersion excludeAll(excludeJackson, excludeNetty, excludeAsm, excludeCglib), - "net.java.dev.jets3t" % "jets3t" % "0.7.1", - "org.apache.avro" % "avro" % "1.7.4", - "org.apache.avro" % "avro-ipc" % "1.7.4" excludeAll(excludeNetty), - "com.codahale.metrics" % "metrics-core" % "3.0.0", - "com.codahale.metrics" % "metrics-jvm" % "3.0.0", - "com.codahale.metrics" % "metrics-json" % "3.0.0", - "com.codahale.metrics" % "metrics-ganglia" % "3.0.0", - "com.twitter" % "chill_2.9.3" % "0.3.1", - "com.twitter" % "chill-java" % "0.3.1" - ) + "com.google.guava" % "guava" % "14.0.1", + "com.google.code.findbugs" % "jsr305" % "1.3.9", + "log4j" % "log4j" % "1.2.17", + "org.slf4j" % "slf4j-api" % slf4jVersion, + "org.slf4j" % "slf4j-log4j12" % slf4jVersion, + "com.ning" % "compress-lzf" % "0.8.4", + "org.xerial.snappy" % "snappy-java" % "1.0.5", + "commons-daemon" % "commons-daemon" % "1.0.10", // workaround for bug HADOOP-9407 + "org.ow2.asm" % "asm" % "4.0", + "com.google.protobuf" % "protobuf-java" % "2.4.1", - "de.javakaffee" % "kryo-serializers" % "0.22", + "com.typesafe.akka" %% "akka-remote" % "2.2.1" excludeAll(excludeNetty), + "com.typesafe.akka" %% "akka-slf4j" % "2.2.1" excludeAll(excludeNetty), + "net.liftweb" %% "lift-json" % "2.5.1" excludeAll(excludeNetty), + "it.unimi.dsi" % "fastutil" % "6.4.4", + "colt" % "colt" % "1.2.0", + "org.apache.mesos" % "mesos" % "0.13.0", + "net.java.dev.jets3t" % "jets3t" % "0.7.1", + "org.apache.derby" % "derby" % "10.4.2.0" % "test", + "org.apache.hadoop" % "hadoop-client" % hadoopVersion excludeAll(excludeJackson, excludeNetty, excludeAsm), + "org.apache.avro" % "avro" % "1.7.4", + "org.apache.avro" % "avro-ipc" % "1.7.4" excludeAll(excludeNetty), + "com.codahale.metrics" % "metrics-core" % "3.0.0", + "com.codahale.metrics" % "metrics-jvm" % "3.0.0", + "com.codahale.metrics" % "metrics-json" % "3.0.0", + "com.codahale.metrics" % "metrics-ganglia" % "3.0.0", + "com.twitter" %% "chill" % "0.3.1", + "com.twitter" % "chill-java" % "0.3.1" - ) ++ ) ) def rootSettings = sharedSettings ++ Seq( http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/python/pyspark/rdd.py ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/repl-bin/pom.xml ---------------------------------------------------------------------- diff --cc repl-bin/pom.xml index 05aadc7,f6bf94b..c983ea5 --- a/repl-bin/pom.xml +++ b/repl-bin/pom.xml @@@ -26,7 -26,7 +26,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-repl-bin</artifactId> - <artifactId>spark-repl-bin_2.9.3</artifactId> ++ <artifactId>spark-repl-bin_${scala-short.version}</artifactId> <packaging>pom</packaging> <name>Spark Project REPL binary packaging</name> <url>http://spark.incubator.apache.org/</url> @@@ -40,18 -40,18 +40,18 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-bagel</artifactId> - <artifactId>spark-bagel_2.9.3</artifactId> ++ <artifactId>spark-bagel_${scala-short.version}</artifactId> <version>${project.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-repl</artifactId> - <artifactId>spark-repl_2.9.3</artifactId> ++ <artifactId>spark-repl_${scala-short.version}</artifactId> <version>${project.version}</version> <scope>runtime</scope> </dependency> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/repl/pom.xml ---------------------------------------------------------------------- diff --cc repl/pom.xml index d4b1ea1,49d8662..ff66493 --- a/repl/pom.xml +++ b/repl/pom.xml @@@ -26,7 -26,7 +26,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-repl</artifactId> - <artifactId>spark-repl_2.9.3</artifactId> ++ <artifactId>spark-repl_${scala-short.version}</artifactId> <packaging>jar</packaging> <name>Spark Project REPL</name> <url>http://spark.incubator.apache.org/</url> @@@ -39,18 -39,18 +39,18 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-bagel</artifactId> - <artifactId>spark-bagel_2.9.3</artifactId> ++ <artifactId>spark-bagel_${scala-short.version}</artifactId> <version>${project.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-mllib</artifactId> - <artifactId>spark-mllib_2.9.3</artifactId> ++ <artifactId>spark-mllib_${scala-short.version}</artifactId> <version>${project.version}</version> <scope>runtime</scope> </dependency> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/streaming/pom.xml ---------------------------------------------------------------------- diff --cc streaming/pom.xml index c74e76d,3b25fb4..3f2033f --- a/streaming/pom.xml +++ b/streaming/pom.xml @@@ -26,7 -26,7 +26,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-streaming</artifactId> - <artifactId>spark-streaming_2.9.3</artifactId> ++ <artifactId>spark-streaming_${scala-short.version}</artifactId> <packaging>jar</packaging> <name>Spark Project Streaming</name> <url>http://spark.incubator.apache.org/</url> @@@ -42,7 -42,7 +42,7 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/tools/pom.xml ---------------------------------------------------------------------- diff --cc tools/pom.xml index 2456457,f1c489b..db87b54 --- a/tools/pom.xml +++ b/tools/pom.xml @@@ -25,7 -25,7 +25,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-tools</artifactId> - <artifactId>spark-tools_2.9.3</artifactId> ++ <artifactId>spark-tools_${scala-short.version}</artifactId> <packaging>jar</packaging> <name>Spark Project Tools</name> <url>http://spark.incubator.apache.org/</url> @@@ -33,12 -33,12 +33,12 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-streaming</artifactId> - <artifactId>spark-streaming_2.9.3</artifactId> ++ <artifactId>spark-streaming_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/7be75682/yarn/pom.xml ---------------------------------------------------------------------- diff --cc yarn/pom.xml index 7f852d3,3bc619d..7770cbb --- a/yarn/pom.xml +++ b/yarn/pom.xml @@@ -25,7 -25,7 +25,7 @@@ </parent> <groupId>org.apache.spark</groupId> - <artifactId>spark-yarn</artifactId> - <artifactId>spark-yarn_2.9.3</artifactId> ++ <artifactId>spark-yarn_${scala-short.version}</artifactId> <packaging>jar</packaging> <name>Spark Project YARN Support</name> <url>http://spark.incubator.apache.org/</url> @@@ -33,7 -33,7 +33,7 @@@ <dependencies> <dependency> <groupId>org.apache.spark</groupId> - <artifactId>spark-core</artifactId> - <artifactId>spark-core_2.9.3</artifactId> ++ <artifactId>spark-core_${scala-short.version}</artifactId> <version>${project.version}</version> </dependency> <dependency>