试图让Apache Spark与IntelliJ一起工作

时间:2017-08-03 17:32:08

标签: scala apache-spark intellij-idea sbt

我正在努力让Apache Spark与IntelliJ一起工作。我在IntelliJ中创建了一个SBT项目并完成了以下工作: 1.去文件 - >项目结构 - >图书馆 2.点击' +'在中间部分,单击Maven,单击Maven Repository中的Download Library,键入文本' spark-core'和org.apache.spark:spark-core_2.11:2.2.0,这是Spark可用的最新版本 我将jar文件和源代码下载到项目文件夹中的./lib中 3. Spark库现在显示在库列表中 4.然后我右键单击org.apache.spark:spark-core_2.11:2.2.0并单击添加到项目并添加到模块 现在,当我单击左侧的Modules,然后单击我的主项目文件夹,然后单击右侧的Dependencies选项卡时,我可以将外部库看作Maven库,但是在单击Apply之后,重新构建项目并重新启动IntelliJ ,它不会在项目中显示为外部库。因此,我无法访问Spark API命令。 我做错了什么?我查看了有关IntelliJ和其他一百个来源的所有文档,但无法找到答案。

另外,我是否还需要在build.SBT文件中包含以下文本,以及将Apache Spark指定为外部库依赖项?我假设我需要在build.SBT文件中包含代码,或者手动将Spark添加为外部依赖项,但不能同时添加。 我在build.SBT文件中包含了这段代码:

name := "Spark_example"

version := "1.0"

scalaVersion := "2.12.3"

val sparkVersion = "2.0.0"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % sparkVersion,
  "org.apache.spark" %% "spark-streaming" % sparkVersion,
  "org.apache.spark" %% "spark-sql" % sparkVersion
)

我收到错误:sbt.ResolveException:unresolved dependency:org.apache.spark#spark-core_2.12; 2.2.0:not found

请帮忙!感谢

2 个答案:

答案 0 :(得分:7)

Spark没有Scala版本2.12.x的版本。因此,将Scala版本设置为 2.11.x

scalaVersion := "2.11.8"

val sparkVersion = "2.0.0"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % sparkVersion,
  "org.apache.spark" %% "spark-streaming" % sparkVersion,
  "org.apache.spark" %% "spark-sql" % sparkVersion
)

答案 1 :(得分:0)

name := "Test"

version := "0.1"

scalaVersion := "2.11.7"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.2.0.2.6.4.0-91"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.2.0.2.6.4.0-91"
libraryDependencies += "org.apache.spark" %% "spark-hive" % "2.2.0.2.6.4.0-91" % "provided"
libraryDependencies += "org.apache.spark" %% "spark-mllib" % "2.2.0.2.6.4.0-91" % "runtime"
libraryDependencies += "org.apache.spark" %% "spark-streaming" % "2.2.0.2.6.4.0-91" % "provided"
libraryDependencies += "org.apache.spark" %% "spark-hive-thriftserver" % "2.2.0.2.6.4.0-91" % "provided"