2017-08-03 30 views
2

我想让Apache Spark使用IntelliJ。我已经在IntelliJ中创建了一个SBT项目,并完成了以下工作: 1.转到文件 - >项目结构 - >库 2.单击中间部分的'+',单击Maven,单击Maven Repository中的下载库,键入文本'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后,重新构建项目,然后单击r电子启动IntelliJ,它不会在项目中显示为外部库。因此我无法访问Spark API命令。 请问我做错了什么?我已经查看了IntelliJ和其他一百个来源的所有文档,但找不到答案。试图让Apache Spark使用IntelliJ

另外,我是否还需要在build.SBT文件中包含以下文本,并将Apache Spark指定为外部库依赖项?我假设我需要将代码包含在build.SBT文件中,或手动添加Spark作为外部依赖项,但不能同时添加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:未解析的依赖性:org.apache.spark#火花core_2.12; 2.2.0:找不到

请帮忙!谢谢

+0

'scalaVersion:= “2.11.8”'应该工作。 – mrsrinivas

+0

谢谢,它的确如此,但我得到了一些关于Spark v2.0.0不兼容的警告,所以我尝试了2.2.0,而且似乎处理了其中的一些,但并非全部都是 – LucieCBurgess

+0

总是推荐使用依赖管理工具(SBT, Maven,Gradle)添加具有范围的外部罐(编译/测试/提供等)。 – mrsrinivas

回答

4

Spark没有为Scala版本2.12.x构建。所以设置斯卡拉版本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 
)