I einen Datenrahmen myDf
haben, die eine Reihe von Paaren von Punkten enthalten (dh x und y-Koordinaten), hat es das folgende Schema:Extract Spalten in verschachteltem Funkendatenrahmen als scala Arrays
myDf.printSchema
root
|-- pts: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- x: float (nullable = true)
| | |-- y: float (nullable = true)
Ich mag erhalten x
und y
als einzelne Ebene Scala Array
's. Ich denke, ich muss die Explode-Funktion anwenden, aber ich kann nicht herausfinden, wie. Ich habe versucht, this Lösung anzuwenden, aber ich kann es nicht zum Laufen bringen.
Ich bin mit Spark-1.6.1 mit Scala 2.10
EDIT: Ich weiß, dass ich ein Missverständnis hatte, wie Spark-Werke, die tatsächliche Arrays immer nur möglich, wenn die Daten (oder mit UDF) gesammelt
Danke an den Fragesteller und den Antworter. Ihr habt meinen Tag gemacht. Ich zog mir die Haare aus, als ich Spark-Xml benutzte und deine Lösung rockte ;-) –
Ich bin froh das zu hören, thx Kumpel –