[英]Scala compile error - could not find implicit value for evidence parameter of type
[英]Scala <console>:24: error: could not find implicit value for evidence parameter of type breeze.storage.DefaultArrayValue[Any]
我正在使用 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 的文檔是:
我搜索了谷歌,發現這個: 找不到類型 scala.reflect.ClassManifest[T] 的證據參數的隱式值
但我不知道如何解釋這些答案。
編輯:我實際上是從微風導入另一個 SparseVector,而我應該從 org.apache.spark.mllib.linalg.SparseVector 導入。
我再次啟動交互式shell並輸入: import org.apache.spark.mllib.linalg.SparseVector
現在我收到error: not found: value SparseVector
重復上述相同代碼后的error: not found: value SparseVector
。
EDIT2:我應該清楚“...”暗示我正在初始化列表。
看起來您尚未初始化索引和值,因此 Scala 在某些時候會嘗試使用它們的默認值。 同樣根據您鏈接的文檔,您需要使用 new 創建 SparseVector (也許沒有伴隨對象?)
我無法測試,但我建議嘗試以下操作:
val indices = Array(1,2,3) // indices is expected to be an array of Int
val values = Array(1.0d,2.0d,3.0d) // values is an array of doubles
val v2 = new SparseVector(3, indices, values)
這行得通嗎? 如果是,則問題可能出在您在val featValues
之后省略的代碼部分
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.