Scala导入不明确


这里是Scala初学者,我在这里尝试了这个例子:

https://raw.githubusercontent.com/sryza/aas/master/ch02-intro/src/main/scala/com/cloudera/datascience/intro/RunIntro.scala

val nasRDD = parsed.map(md => {
  md.scores.map(d => NAStatCounter(d))
})

上面给了我错误:

<console>:51: error: reference to NAStatCounter is ambiguous;
it is imported twice in the same scope by
import $VAL180.NAStatCounter
and import INSTANCE.NAStatCounter
             md.scores.map(d => NAStatCounter(d))
                            ^

有人能解释一下为什么会发生这种双重进口吗。我该如何避免这种情况?

我无法重现您的问题。我将RunIntro.scala放入一个小型sbt项目中,并使用build.sbt文件(删除了空行)成功编译了它

% cat build.sbt
name := "RunIntro"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies ++= List("org.apache.spark" % "spark-core_2.11" % "1.6.1")

进口只是你问题的部分根源。你是如何编译这个源代码的?

最新更新