Sparen Sie einen großen Funken Dataframe wie eine einzige json-Datei in S3
Im Versuch zu speichern ein Funke DataFrame (mehr als 20G) auf eine einzige json-Datei in Amazon S3, mein code zum speichern der dataframe ist wie folgt :
dataframe.repartition(1).save("s3n://mybucket/testfile","json")
Aber ich bin immer ein Fehler von S3 "Ihr vorgeschlagen hochladen überschreitet die maximal zulässige Größe", ich weiß, dass die maximal erlaubte Dateigröße von Amazon 5 GB.
Ist es möglich mit S3-multipart-upload mit Spark? oder gibt es eine andere Möglichkeit, dies zu lösen?
Btw ich brauche die Daten in einer einzigen Datei, weil ein anderer Benutzer, um es herunterzuladen nach.
*Im apache-spark-1.3.1 in einem 3-node-cluster erstellt, mit dem spark-ec2-Skript.
Vielen Dank
JG
- Ich sah nur, dass wenn ich s3a statt s3n es mein problem lösen könnte (wiki.apache.org/hadoop/AmazonS3) , aber die Sache ist, dass der hadoop-version, die im mit (Hadoop 2.0.0-cdh4.2.0) es nicht unterstützt s3a. Irgendwelche Ideen? Nochmals vielen Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde versuchen, die Trennung der großen dataframe in eine Reihe von kleineren dataframes, die Sie dann fügen Sie in der gleichen Datei in das Ziel.
_SUCCES
undpart-*
?Versuchen, diese
s3a ist nicht die Produktion-version in Funken, denke ich.
Ich würde sagen, das design ist nicht sound. neu partitionieren(1) ist furchtbar (was Sie sagen, Funke wird, verschmelzen alle Partitionen zu einer einzigen).
Ich würde vorschlagen, zu überzeugen, die downstream zum herunterladen von Inhalt von einem Ordner anstatt einer einzelnen Datei