ich einen Funken Datenrahmen haben, die einen Vektor in sich hat:Funken Scala: Vektordatenrahmen zu RDD von Werten
org.apache.spark.sql.DataFrame = [sF: vector]
und ich versuche, es zu einer RDD von Werten zu konvertieren:
org.apache.spark.rdd.RDD[(Double, Double)]
Allerdings konnte ich es nicht richtig konvertieren. Ich habe versucht:
val m2 = m1.select($"sF").rdd.map{case Row(v1, v2) => (v1.toString.toDouble, v2.toString.toDouble)}
und es kompiliert, aber ich erhalte einen Laufzeitfehler:
scala.MatchError: [[-0.1111111111111111,-0.2222222222222222]] (of class org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema)
, wenn ich tun:
m2.take(10).foreach(println).
Gibt es etwas, was ich falsch mache?
Danke für die Hilfe. Ich erhalte einen Fehler: Any nimmt beim Aufruf von v (2) keine Parameter entgegen. Irgendwelche Ideen warum? – mt88
Ist Ihr Code genau meiner? Oder Sie verzichten auf den 'v: Vector'? Der explizite 'Vector' Typ muss da sein. Vergessen Sie auch nicht den Import. –
Nein, ich schließe die v: Vector Teil – mt88