Konvertieren von RDD [org.apache.spark.sql.Row] in RDD [org.apache.spark.mllib.linalg.Vector]

Ich bin relativ neu bei Spark und Scala.

Ich beginne mit dem folgenden Datenrahmen (einzelne Spalte aus einem dichten Doppelvektor):

scala> val scaledDataOnly_pruned = scaledDataOnly.select("features")
scaledDataOnly_pruned: org.apache.spark.sql.DataFrame = [features: vector]

scala> scaledDataOnly_pruned.show(5)
+--------------------+
|            features|
+--------------------+
|[-0.0948337274182...|
|[-0.0948337274182...|
|[-0.0948337274182...|
|[-0.0948337274182...|
|[-0.0948337274182...|
+--------------------+

Eine direkte Konvertierung in RDD ergibt eine Instanz von org.apache.spark.rdd.RDD [org.apache.spark.sql.Row]:

scala> val scaledDataOnly_rdd = scaledDataOnly_pruned.rdd
scaledDataOnly_rdd: org.apache.spark.rdd.RDD[org.apache.spark.sql.Row] = MapPartitionsRDD[32] at rdd at <console>:66

Weiß jemand, wie dieser DF stattdessen in eine Instanz von org.apache.spark.rdd.RDD [org.apache.spark.mllib.linalg.Vector] konvertiert wird? Meine verschiedenen Versuche waren bisher erfolglos.

Vielen Dank im Voraus für alle Hinweise!

Antworten auf die Frage(6)

Ihre Antwort auf die Frage