我创建了一个包含以下代码的简单文件hello.scala
:
import org.apache.spark.SparkContext
object HelloSbt extends App {
println("Welcome to this thing!")
}
请注意,我没有使用IDE。
当我运行命令compile
时,我收到此错误:
object apache不是包org的成员
没有导入行的代码可以正常工作。
我在网上看了他们说我应该修改build.sbt
并添加一些线条。 build.sbt
如下所示:
name := "tasky"
version := "0.1.0"
scalaVersion := "2.12.3"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "0.9.0-incubating",
"org.apache.spark" %% "spark-streaming" % "0.9.0-incubating",
"org.apache.spark" %% "spark-streaming-twitter" % "0.9.0-incubating")
然而, compile
仍然失败了。为什么呢?
答案 0 :(得分:1)
在您开始使用sbt并且处于sbt shell之后,对build.sbt
的所有更改都是而不是,直到您reload
为止{重新加载自会话开始以来所做的任何更改。
sbt:so> help reload
reload
(Re)loads the project in the current directory.
reload plugins
(Re)loads the plugins project (under project directory).
reload return
(Re)loads the root project (and leaves the plugins project).
build.sbt
有两个问题。
您应该使用最新且最好的2.2.0
作为Spark依赖项的版本。
Spark支持Scala 2.11,因此scalaVersion
应为2.11.8
(最多2.11.11
)。