Преобразовать массив [org.apache.spark.sql.Row] в DenseMatrix[Double] в scala
У меня есть это решение, которое работает, но мне интересно, есть ли умный способ сделать это, избегая явного цикла for и toString.toDouble
преобразование
import scala.collection.mutable.ArrayBuffer
val rows: Array[Row] = df2.collect()
//rows: Array[org.apache.spark.sql.Row] = Array([-1.35980713367,...
var e = ArrayBuffer[Array[Double]]()
for(row <- rows){
val x = row.toSeq.toArray
val y = x.map(_.toString.toDouble)
e += y
}
val dm = DenseMatrix(e.toArray:_*)