Я бы очень хотел, чтобы преобразовать свою org.apache.spark.mllib.linalg.Matrix в org.apache.spark.mllib.linalg.distributed.RowMatrixПреобразование матрицы в RowMatrix в Apache Спарк с помощью Scala
I может сделать это как таковое:
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)
Однако, это действительно грубый и общий взлом. Может ли кто-нибудь показать мне лучший способ?
Примечание Я использую Спарк версии 1.3.0