Como converter org.apache.spark.rdd.RDD [Array [Double]] para Array [Double], exigido pelo Spark MLlib

Estou tentando implementarKMeans using Apache Spark.

val data = sc.textFile(irisDatasetString)
val parsedData = data.map(_.split(',').map(_.toDouble)).cache()

val clusters = KMeans.train(parsedData,3,numIterations = 20)

no qual eu recebo o seguinte erro:

error: overloaded method value train with alternatives:
  (data: org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector],k: Int,maxIterations: Int,runs: Int)org.apache.spark.mllib.clustering.KMeansModel <and>
  (data: org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector],k: Int,maxIterations: Int)org.apache.spark.mllib.clustering.KMeansModel <and>
  (data: org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector],k: Int,maxIterations: Int,runs: Int,initializationMode: String)org.apache.spark.mllib.clustering.KMeansModel
 cannot be applied to (org.apache.spark.rdd.RDD[Array[Double]], Int, numIterations: Int)
       val clusters = KMeans.train(parsedData,3,numIterations = 20)

então tentei converter Array [Double] para Vector, como mostradoaqui

scala> val vectorData: Vector = Vectors.dense(parsedData)

no qual obtive o seguinte erro:

error: type Vector takes type parameters
   val vectorData: Vector = Vectors.dense(parsedData)
                   ^
error: overloaded method value dense with alternatives:
  (values: Array[Double])org.apache.spark.mllib.linalg.Vector <and>
  (firstValue: Double,otherValues: Double*)org.apache.spark.mllib.linalg.Vector
 cannot be applied to (org.apache.spark.rdd.RDD[Array[Double]])
       val vectorData: Vector = Vectors.dense(parsedData)

Então, eu estou inferindo queorg.apache.spark.rdd.RDD[Array[Double]] não é o mesmo que Array [Double]

Como posso prosseguir com meus dados comoorg.apache.spark.rdd.RDD[Array[Double]] ? ou como posso converterorg.apache.spark.rdd.RDD[Array[Double]] to Array[Double] ?

questionAnswers(1)

yourAnswerToTheQuestion