2017-06-03 1 views
1

Ich glaube im Zusammenhang mit der Programmierung in Spark/Python, dass dies eine einigermaßen grundlegende Operation ist. Ich habe eine Textdatei, die als solche aussieht:Pyspark Karte von RDD der Zeichenfolgen zu RDD der Liste der Doppel

mydata.txt 
12 34 2.3 15 
23 11 1.5 9 
33 18 4.5 99 

und dann verwende ich den folgenden Code in der Text-Datei zu lesen:

data = sc.textFile("mydata.txt") 

und dies liest in der Datei als RDD von Strings. Allerdings möchte ich die Werte trennen und alle in Floats umwandeln. Also ändere ich die Zeile oben zu diesem:

, die die Daten erfolgreich durch Leerzeichen teilt. Allerdings habe ich Probleme mit der Map-Funktion, die dann in Floats konvertiert wird. etwas in der Art von:

.map(lambda line: float(line)) 

aber das hat nicht funktioniert. Jede Hilfe wird geschätzt! Danke!

EDIT - bitte gehen Sie davon aus, dass ich die Anzahl der Spalten der Daten nicht kenne. etwas in der Art von .map (Lambda-Zeile: float (line [0]), float (Zeile [1]), float (Zeile [2]), float (Zeile [3])) ist nicht besonders hilfreich.

Antwort

0

Nevermind, hab es.

.map(lambda line: [float(x) for x in line]) 
Verwandte Themen