나는 Scala
(2.10.4 버전)과 Spark
과 함께 일해 - 나는 Spark
1.0.1로 이사했다. 버전과 내 스크립트 중 하나가 올바르게 작동하지 않는 것으로 나타났습니다. 다음과 같은 방법으로 MLlib
라이브러리의 k-means 방법을 사용합니다. 여기Spark 1.0.1 이후 KMeansModel.predict 오류가 나타나는 이유는 무엇입니까?
scala> clusters.toString
res8: String = [email protected]
내 질문의 방법과 컴파일하는 동안 내가받을 오류입니다 :
내가clusters
라는 이름의
KMeansModel
객체가 있다고 가정
이
scala> def clustersSize(normData: RDD[Array[Double]]) = {
| normData.map(r => clusters.predict(r))
| }
<console>:28: error: overloaded method value predict with alternatives:
(points: org.apache.spark.api.java.JavaRDD[org.apache.spark.mllib.linalg.Vector])org.apache.spark.api.java.JavaRDD[Integer] <and>
(points: org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector])org.apache.spark.rdd.RDD[Int] <and>
(point: org.apache.spark.mllib.linalg.Vector)Int
cannot be applied to (Array[Double])
normData.map(r => clusters.predict(r))
KMeansModel documentation 명확 것을 말한다 predict
함수는 Array[Double]
타입의 인자를 필요로하고 나는 그런 타입의 인자를 그것에 넣는다 고 생각한다. 내가 뭘 잘못하고 있는지 제안 해 주셔서 미리 감사드립니다.