2016-08-31 40 views
1

我想從Spark CholeskyDecomposition導入。mllib包成員的Spark導入

我在下一個方法。首先,我已經修改了我的SBT文件,並添加額外的依賴性:

"org.apache.spark"%%"spark-mllib"%"1.3.0" 

然後我做進口在我的Scala代碼:

import org.apache.spark.mllib.linalg.CholeskyDecomposition 

當我執行我的代碼(通過build.sbt)我有得到了下一個錯誤消息:

對象CholeskyDecomposition不是包的成員 org.apache.spark.mllib.linalg

當我修改我的import語句只是:

import org.apache.spark.mllib.linalg 

一切都會很好,並沒有錯誤消息(無CholeskyDecomposition對象當然)執行的代碼。 無論如何,我很確定對象CholeskyDecomposition是mllib Spark的linalg包的成員。 我也只是複製導入語句,不能做語法錯誤。

回答

2

它現在是org.apache.spark.mllib.linalg的成員,但它不在spark-mllib 1.3。

我甚至不確定它何時推出,但我相信當我閱讀commits時,它已被添加爲1.6.0-SNAPSHOT。 (提交哈希:7bf07faa716bd6a01252c5e888d0956096bde026)

+0

好的,謝謝,我會修改我的build.sbt文件並設置爲1.6.0版本 – Guforu

+0

現在我可以導入。但我的代碼片段不起作用。我有下一個代碼:'CholeskyDecomposition.solve(x,y)',並且錯誤消息是'包中的對象CholeskyDecomposition無法在包org.apache.spark.mllib.linalg中訪問' – Guforu

+1

這是因爲它是一個私有對象。我從來沒有用過老實說話,但有了黑客,你可以使用解算器。我現在無法嘗試找到修復程序,因爲我無法訪問要測試的IDE或Spark羣集。 – eliasah