Eclipse Scala IDE代码未编译

时间:2015-07-06 16:22:21

标签: eclipse scala

我从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来解决这个问题

但经过大量的研究后,我无法找到这个罐子。任何人都可以帮忙吗?

2 个答案:

答案 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才能回答这个问题)

  1. 获取Scala IDE(内置Scala编译器版本2.10.5和2.11.6)
  2. 创建新项目Scala向导> Scala项目
  3. 右击" src"在缩放项目中,选择" Scala对象",给它一个名字 - 我给了WordCount
  4. 右键单击项目>配置>转换为Maven项目
  5. 在单词计数对象的主体中(我将对象命名为WordCount)粘贴来自Apache Spark Example的文本,最终看起来像
  6. ```

    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. 右键单击&#34; Scala Library Container&#34;,然后选择&#34;最新2.10软件包&#34;,单击确定
    2. 一旦我完成了这些操作,我的&#34;问题&#34;上没有显示错误消息。 Eclipse列表...表示它按预期编译。
    3. 显然,这个例子不会运行,因为我还没有提供足够的信息来运行......但这只是为了回答这个问题,&#34;如何编译代码&#34; #34;
    4. 希望这有帮助。

答案 1 :(得分:0)

  • 安装SBT Scala构建+依赖关系工具
  • 创建一个空目录。将其命名为spark-test或任何您想要命名的项目。
  • 将源代码放在子目录src / scala / main中。如果你在包scalatest中有Main.scala,它应该是src / scala / main / scalatest / Main.scala
  • 制作包含以下内容的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.sbt

    addSbtPlugin(“com.typesafe.sbteclipse”%“sbteclipse-plugin”%“4.0.0”)

  • 使用sbt eclipse

  • 生成Eclipse项目
  • 将您的项目导入eclipse。
  • 运行:)