【发布时间】:2015-07-22 02:03:17
【问题描述】:
我真的很想将我的 org.apache.spark.mllib.linalg.Matrix 转换为 org.apache.spark.mllib.linalg.distributed.RowMatrix
我可以这样做:
val xx = X.computeGramianMatrix() //xx is type org.apache.spark.mllib.linalg.Matrix
val xxs = xx.toString()
val xxr = xxs.split("\n").map(row => row.replace(" "," ").replace(" "," ").replace(" "," ").replace(" "," ").replace(" ",",").split(","))
val xxp = sc.parallelize(xxr)
val xxd = xxp.map(ar => Vectors.dense(ar.map(elm => elm.toDouble)))
val xxrm: RowMatrix = new RowMatrix(xxd)
但是,这真的很恶心,完全是黑客行为。谁能告诉我一个更好的方法?
注意我使用的是 Spark 1.3.0 版
【问题讨论】:
标签: scala matrix apache-spark distributed