我从scala-ide.org网站下载了eclipse scala ide并试图编译我的第一个scala字数统计程序。但是它给出了错误"对象不是包org"在以下导入命令
中import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
经过一番研究后我发现我需要添加jar文件spark-assembly-1.0.0-hadoop2.2.0.jar来解决这个问题
但经过大量的研究后,我无法找到这个罐子。任何人都可以帮忙吗?
答案 0 :(得分:0)
Scala不是一种简单的语言/环境学习。重要的是你要了解scala是如何工作的,然后进入火花。 网上有大量的资料。一个适当的学习途径将是学习 SBT> SCALA>使用Scala for Spark
你提到的依赖关系,可以放在他的build.sbt中。你也可以使用maven,但我建议学习sbt作为学习scala的方法。一旦你使用SBT解决了依赖关系,你的简单代码应该可以正常工作。但是,我仍然建议做一个" hello world"首先要做的是"字数" : - )
Ando回答你的问题,在你的SBT中你应该添加以下库,
libraryDependencies += "org.apache.spark" % "spark-assembly_2.10" % "1.1.1"
这是针对hadoop 2.10的火花装配1.1.1。我发现你需要一个不同的版本,你可以在
找到合适的版本Maven Repo details for spark/hadoop
这里是纯日食解决方案(我必须下载并设置eclipse才能回答这个问题)
```
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>
```
希望这有帮助。
答案 1 :(得分:0)
制作包含以下内容的build.sbt文件
name:=“”“sparktest”“”
version:=“1.0-SNAPSHOT”
scalaVersion:=“2.11.7”
libraryDependencies ++ = Seq( “org.apache.spark”%%“spark-core”%“1.4.0” )
配置SBT Eclipse插件。使用:
创建〜/ .sbt / 0.13 / plugins / plugins.sbtaddSbtPlugin(“com.typesafe.sbteclipse”%“sbteclipse-plugin”%“4.0.0”)
使用sbt eclipse