0
我有一個IndexedRowMatrix的雙精度值。我想計算矩陣的每一行的總和並將結果保存到Vector中。之後,我想播放這個載體。 我正在創建一個包含總和的雙精度型RDD,但我無法將其轉化爲矢量。 所以,問題基本上是如何從IndexedRowMatrix創建我想要的矢量。如何將RDD [Double]轉換爲Scala Spark中的向量
我有一個IndexedRowMatrix的雙精度值。我想計算矩陣的每一行的總和並將結果保存到Vector中。之後,我想播放這個載體。 我正在創建一個包含總和的雙精度型RDD,但我無法將其轉化爲矢量。 所以,問題基本上是如何從IndexedRowMatrix創建我想要的矢量。如何將RDD [Double]轉換爲Scala Spark中的向量
收集駕駛員和構建載體:
import org.apache.spark.mllib.linalg.{Vector, Vectors}
val sc: SparkContext = ???
val rdd: RDD[Double] = ???
val vec: Vector = Vectors.dense(rdd.collect)
val broadcastVec = sc.broadcast(vec)
參考文獻:
https://spark.apache.org/docs/2.1.0/mllib-data-types.html#local-vector https://spark.apache.org/docs/latest/programming-guide.html#broadcast-variables
你嘗試過這麼遠嗎? – eliasah