【发布时间】:2014-04-25 01:00:34
【问题描述】:
我正在使用 Spark 和 Scala(两者都是新手)。我有这个代码:
val indices: List[Int] = List()
val featValues: List[Double] = List()
...
val vector = SparseVector(100000, indices.toArray, featValues.toArray)
但我不断收到此错误:
<console>:24: error: could not find implicit value for evidence parameter of type breeze.storage.DefaultArrayValue[Any]
val vector = SparseVector(100000, indices.toArray, featValues.toArray)
我确信只有熟悉 Scala 的人可以帮助我。 SparseVector 的文档是:
我搜索了谷歌并找到了这个: Could not find implicit value for evidence parameter of type scala.reflect.ClassManifest[T]
但我不知道如何解释答案。
编辑: 我实际上是从微风中导入另一个 SparseVector,而我应该从 org.apache.spark.mllib.linalg.SparseVector 导入。
我再次启动交互式shell,输入:import org.apache.spark.mllib.linalg.SparseVector
现在我在重复上面相同的代码后得到error: not found: value SparseVector。
编辑2: 我应该清楚“...”暗示我正在初始化列表。
【问题讨论】:
-
如果编译器正在寻找隐式,那么文档应该有类似
def something[T: Whatever](foo: Foo)或def something[T](foo: Foo)(implicit evidence: Whatever[T])的内容。在您链接的文档中,我没有找到与 SparseVector 类似的东西,所以我不确定问题出在哪里。据我所知,您发布的所有代码看起来都不需要隐式。
标签: scala apache-spark