Ich habe eine Instanz von RowMatrix
, die eine einzelne Spalte enthält. Ich versuche, diese RowMatrix in einen Datenrahmen zu verwandeln, aber ich bin nicht ganz sicher, wie man org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector]
in einen Datenrahmen umwandelt.RDD [Vector] zu Dataframe
val mat: RowMatrix = new RowMatrix(centred)
val mat_rows = mat.rows // RDD[Vector]
Ich weiß, dass, wenn ich hatte zwei (oder mehr) Spalten ich das folgende Stück Code
val mat_rdd = mat_rows.map(_.toArray).map{case Array(p0, p1) => (p0, p1)}
val df = sparkSession.createDataFrame(mat_rdd).toDF("f1", "f2")
Das Problem ist, dass ich nur verwenden könnte eine einzelne Spalte haben. Wenn ich den obigen Code ändern eine einspaltige Datenrahmen ich die folgende Fehlermeldung erhalten zu erstellen:
overloaded method value createDataFrame with alternatives: