对让Scala在IntelliJ中运行感到困惑?导入错误

问题描述 投票:0回答:2

我试图在IntelliJ中运行一个简单的scala程序。

我的build.sbt看起来像这样:

name := "UseThis"

version := "0.1"

scalaVersion := "2.12.4"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.0"

我的导入代码如下所示:

package WorkWork.FriendsByAge

import com.sun.glass.ui.Window.Level
import com.sun.istack.internal.logging.Logger
import org.apache.spark._
import org.apache.spark.SparkContext._
import org.apache.log4j._

我不知道导入失败的原因。它告诉我依赖项无法加载或找不到,但我根据需要将该行放在build.sbt中。我还需要做一些其他的步骤吗?我安装了火花。它是构建行末尾的版本说明吗?我甚至不知道如何检查我的火花版本。我正在尝试自学Scala(不是一个菜鸟,我知道Python,R,各种各样的SQL,C#),但我的话甚至设置它几乎是不可能的,显然它甚至运行也是如此。有任何想法吗?

scala apache-spark intellij-idea import
2个回答
4
投票

看看这个页面:Maven Central (Apache Spark core)

除非你已经设置了一些其他的存储库,否则sbt将加载的依赖关系通常来自那里。

有一个version列,数字像2.2.1,然后有一个scala列,数字像2.112.10。为了使spark和scala一起工作,您必须从此表中选择一个有效的组合。

截至28.Feb 2018,没有与scala 2.12.4一起使用的Spark版本。 1.2.0最新版本的scala是2.11。所以,您可能希望将scala版本设置为2.11

另请注意您的SBT中的%%语法

"org.apache.spark" %% "spark-core" % "1.2.0"

将自动将后缀_2.12附加到artifact-id-part。由于没有spark-core_2.12,因此无法解析依赖关系,也无法在代码中导入任何内容。

顺便说一句:火花1.2和火花1.3之间存在很大差异,然后在1.x和2.x之间再次存在很大差异。它真的必须是1.2吗?


2
投票
© www.soinside.com 2019 - 2024. All rights reserved.