【发布时间】:2018-09-22 10:04:31
【问题描述】:
我下载了播放框架项目 - 简单的一个。我正在尝试通过 sbt 导入 spark 2.2.0 版,但出现下一个错误:
sbt.librarymanagement.ResolveException: unresolved dependency: org.apache.spark#spark-core_2.12;2.2.0: not found
build.sbt 文件:
name := """play-scala-starter-example"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
resolvers += Resolver.sonatypeRepo("snapshots")
scalaVersion := "2.11.5"
libraryDependencies += guice
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "3.1.2" % Test
libraryDependencies += "com.h2database" % "h2" % "1.4.196"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.2.0"
build.sbt 文件中的所有行都被标记为红色并且有相同的错误:
expression type must conform to setting in sbt file
plugin.sbt 文件:
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.13")
澄清一下,我有两个问题:
- “表达式类型必须符合 build.sbt 文件中每一行的设置”。
- 无法通过 sbt 导入 spark 库
【问题讨论】:
-
v2.2.0 似乎仅适用于 spark-core_2.10 和 spark-core_2.11(not 2.12):mvnrepository.com/artifact/org.apache.spark/spark-core
-
^没错,Spark 还不支持 Scala 2.12
-
我没有看到任何适用于 scala 2.12 的 spark 版本,对吧?所以我应该使用不同的 scala 版本?你知道我遇到的第一个错误吗?
-
我将导入行更改为: libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.2.0" 现在它可以工作了。但是,当我尝试使用 scala 控制台打开我的 scala 文件之一时,它会打开 scala 控制台版本 2.12.4,这是为什么呢?
-
@Mariel 您是否从您的项目根目录运行
sbt console?如果是这样,它将运行您在 build.sbt 中指定的 Scala 版本,即 2.12.4。你可能需要改变它。
标签: scala apache-spark sbt