Spark 2.1.0 在 SBT 上的“未解决的依赖关系”

Posted

技术标签:

【中文标题】Spark 2.1.0 在 SBT 上的“未解决的依赖关系”【英文标题】:“unresolved dependency” for Spark 2.1.0 on SBT 【发布时间】:2017-08-26 14:38:19 【问题描述】:

版本 := "1.0" scalaVersion := "2.11.8" ivyScala := ivyScala.value 映射 _.copy(overrideScalaVersion = true) libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"

当我尝试通过 sbt 组装 jar 时,我尝试将 spark 引入我的开发环境,但它失败并在我的 sbt 中显示 [error],如下所示:

[warn]  :::::::::::::::::::::::::::::::::::::::::::::: <br/>
[warn]  ::          UNRESOLVED DEPENDENCIES         :: <br/>
[warn]  :::::::::::::::::::::::::::::::::::::::::::::: <br/>
[warn]  :: org.apache.spark#spark-core_2.11;2.1.0: not found <br/>
[warn]  :::::::::::::::::::::::::::::::::::::::::::::: <br/>
[warn] 
[warn]  Note: Unresolved dependencies path: <br/>
[warn]      org.apache.spark:spark-core_2.11:2.1.0  (D:\MyDocument\IDEA\Scala\model\build.sbt#L9-10) <br/>
[warn]        +- org.apache.spark:spark-catalyst_2.11:2.1.0 <br/>
[warn]        +- org.apache.spark:spark-sql_2.11:2.1.0 (D:\MyDocument\IDEA\Scala\model\build.sbt#L15-16) <br/>
[warn]        +- org.apache.spark:spark-hive_2.11:2.1.0 (D:\MyDocument\IDEA\Scala\model\build.sbt#L11-12) <br/>
[warn]        +- default:producttagmodel_2.11:1.0 <br/>
[trace] Stack trace suppressed: run 'last *:update' for the full output. <br/>
[error] (*:update) sbt.ResolveException: unresolved dependency: org.apache.spark#spark-core_2.11;2.1.0: not found 

我的IntelliJ版本是2016.3.5,sbt版本是0.13.13,scala版本是2.11.8;我发现 sbt 已经成功下载了我在 .ivy/cache 目录中找到的 spark-core.jar,但它总是显示“未知工件。未解决或索引”。我已经多次刷新我的项目索引,但它没有工作。在 IntelliJ 缓存受到干扰的情况下,我使用相同的 build.sbt 创建了一个新项目,但它不起作用。我完全对这个问题感到困惑。 下面是我的 build.sbt 设置:

【问题讨论】:

【参考方案1】:

如何将依赖项更改为:

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.1.0"

另外对于spark应用,一般添加为"provided",不应该包含在jar中,因为当你提交作业时,相关的spark库已经安装在驱动程序和执行程序中。

【讨论】:

是的,在我提交这个问题之前,我已经尝试过将依赖项作为你的格式。但不幸的是,它没有用,就像我的一样。

以上是关于Spark 2.1.0 在 SBT 上的“未解决的依赖关系”的主要内容,如果未能解决你的问题,请参考以下文章

未解决的依赖关系 sbt with play framework

play-sbt 2.5.6 插件给出未解决的依赖错误

SBT 多项目中未解决的依赖关系

Sbt-assembly 未解决的依赖,Scala

未解决的依赖sbt-play-ebean

未解决的依赖:com.sksamuel.scapegoat#sbt-scapegoat;1.0.4:未找到