这里是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")
进口只是你问题的部分根源。你是如何编译这个源代码的?