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