Scala 不是一门简单的语言/环境来学习。了解 scala 的工作原理然后进入 spark 是很重要的。
网络上有大量可用的材料。正确的学习路径是学习
SBT > SCALA > 将 Scala 用于 Spark
你提到的依赖,可以放在他sbt的build.sbt中。您也可以使用 maven,但我建议学习 sbt 作为学习 scala 的方式。一旦你解决了使用 SBT 的依赖关系,你的简单代码应该可以正常工作。但是,我仍然建议先做一个“hello world”,而不是做一个“字数统计”:-)
Ando 回答您的问题,在您的 SBT 中您应该添加以下库,
libraryDependencies += "org.apache.spark" % "spark-assembly_2.10" % "1.1.1"
这是用于 hadoop 2.10 的 spark 组件 1.1.1。我知道你需要一个不同的版本,你可以在
找到合适的版本
Maven Repo details for spark/hadoop
这是纯 Eclipse 解决方案(我必须下载并设置 Eclipse 才能回答这个问题)
- 获取 Scala IDE(它带有内置的 Scala 编译器版本 2.10.5 和 2.11.6)
- 创建新项目 Scala 向导 > Scala 项目
- 在缩放项目中右键“src”,选择“Scala Object”,给它起个名字——我给了WordCount
- 右键项目>配置>转换为Maven项目
- 在字数统计对象的正文中(我将对象命名为 WordCount)粘贴来自Apache Spark Example 的文本,最终看起来像
```
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object WordCount {
val sparkConf = new SparkConf().setAppName("SampleTest")
val spark = new SparkContext(sparkConf)
val textFile = spark.textFile("hdfs://...")
val counts = textFile.flatMap(line => line.split(" "))
.map(word => (word, 1))
.reduceByKey(_ + _)
counts.saveAsTextFile("hdfs://...")
}
```
6. 将以下内容添加到您的 Maven 中
```
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.4.0</version>
</dependency>
```
- 右击“Scala Library Container”,选择“Latest 2.10 bundle”,点击ok
- 完成这些操作后,我的 Eclipse 的“问题”列表中没有显示任何错误消息...表明它按预期编译。
- 显然,这个示例无法运行,因为我没有提供足够的信息来运行它……但这只是为了回答“如何编译代码”这个问题。
希望这会有所帮助。