Ich habe eine RDD, die wie folgt aussieht. Ich versuche, es in einen Datenrahmen von ['TS', 'val', 'Key'] in Python (pyspark) zu konvertieren. Jede Hilfe wird geschätzt, da ich ziemlich neu bin.Konvertieren einer RDD mit einem Array in einen Datenrahmen
root
|-- val: array (nullable = true)
| |-- element: double (containsNull = true)
|-- key: long (nullable = true)
+--------------------+---+
| val|key|
+--------------------+---+
|[1.466095512E9, 6...| 0|
|[1.466097304E9, 6...| 1|
|[1.466099099E9, 6...| 2|
|[1.466100895E9, 7...| 3|
|[1.466102698E9, 7...| 4|
habe ich versucht, dies aber ich habe einen Fehler auf der .toDF
Linie, ohne Erklärung.
FN2 = FN.map(lambda x, y: (x[0], x[1], y))
Square = FN2.toDF(['TS','val','key']) #Converts to dataframe
Square.show()
Wenn Ihr RDD wird aus einer CSV-Datei zum Beispiel gerichtet erstellt, können Sie mit [funken csv] (https://github.com/databricks/spark-csv) um es direkt in einen Datenrahmen zu ändern. –
Was ist 'TS'? Es ist nicht in Ihrer Probe. – ShuaiYuan
TS ist UnixTime. Es ist die erste Spalte, val ist die zweite Spalte, Schlüssel ist die dritte Spalte. Derzeit werden TS und val als Array gespeichert –