2016-10-26 6 views
0

Wenn ich einen Datenrahmen zu einem Text-Datei speichern es mit [] beispielsweise gespeichert wird habe ich einen Datenrahmen:Scala - Speichern in Textdatei einen Datenrahmen ohne []

9206E599-2E07-439E-9C01-A6714E779D11 
D607E87F-FB90-4F2B-8A99-335AE4F5C97F 

wenn ich myDataFrame.rdd.saveAsTextFile("My Path") tun i get

[9206E599-2E07-439E-9C01-A6714E779D11] 
[D607E87F-FB90-4F2B-8A99-335AE4F5C97F] 

gibt es eine Möglichkeit, diese Klammern zu entfernen.

+1

, warum Sie wollen, dass sie entfernt werden? wenn Sie dieses df aus der Datei wieder laden, können Sie Ihren df zurückbekommen. –

+0

Ich muss diesen Datenrahmen mit einem anderen subtrahieren, also müssen sie in demselben Format beibehalten werden BTW sie werden nicht entfernt, wenn ich sie zurücklade – toofrellik

+0

können Sie Ihr DF-Schema zeigen? (Sie können 'myDataFrame.printSchema()') –

Antwort

0

Hier ist ein Weg, es zu tun.

val df: DataFrame = ??? 
df.rdd.map(r => r.getString(0)).saveAsTextFile("My Path") 

Das Problem ist Ihre RDD enthält org.apache.spark.sql.Row Objekte. Wenn diese 'zugespannt' sind, haben sie diese quadratischen Klammern auf jeder Seite. Sie möchten die Daten aus dem Row-Objekt in einen String extrahieren.

5

Eine einfachere Option - verwenden Sie einfach die Standard-Datenrahmen write API ohne zu RDD Umwandlung:

myDataFrame.write.text("My Path") 
Verwandte Themen