2017-08-24 2 views
1

Ich möchte Dataframe zu s3 speichern, aber wenn ich die Datei zu s3 speichern, erstellt es leere Datei mit ${folder_name}, in dem ich die Datei speichern möchte.Pyspark Speichern Sie Datenframe zu S3

Syntax der Datenrahmen zu speichern: -

f.write.parquet("s3n://bucket-name/shri/test") 

Es speichert die Datei in Testordner aber es schafft $test unter shri.

Gibt es eine Möglichkeit, die ich speichern kann, ohne diesen zusätzlichen Ordner zu erstellen?

+0

Um eine Datei zu schreiben, müssen Sie einen Testamentsvollstrecker verwenden, und einen Druckminderer, die den Zweck Spark verteilten Natur besiegt –

Antwort

0

Soweit ich weiß, gibt es keine Möglichkeit, die Benennung der eigentlichen Parkettdateien zu kontrollieren. Wenn Sie einen Datenrahmen in Parkett schreiben, geben Sie an, wie der Verzeichnisname lauten soll, und spark erstellt die entsprechenden Parkettdateien in diesem Verzeichnis.

2

Ich konnte es mit dem folgenden Code tun.

df.write.parquet("s3a://bucket-name/shri/test.parquet",mode="overwrite") 
+0

Dank Usman für die Antwort, Gibt es eine Modul, das importiert werden muss, weil , wenn ich das gleiche versuchte, bekomme ich einen Fehler. Traceback (letzter Anruf zuletzt): Datei "", Zeile 1, in NameError: Name 'überschreiben' ist nicht definiert – Shrikant

+1

geben überschreiben Wert in Anführungszeichen, dh Modus = 'überschreiben' –

Verwandte Themen