2017-12-24 11 views
0

Ich bin Funke im Standalone-Modus (mit einer Vision in Zukunft verteilt) in mein System zu Analyse einer sehr großen Datei> 5 GB. Zuerst muss ich diese Datei von FTP zu meinem lokalen e.g c:\spark\analysis\bigfile.txt kopieren, dann kann ich die Datei mit Funken zur Analyse laden.Lesen von großen Text-Datei von FTP vor der Funkenanalyse

Meine Frage ist, wie kann ich eine so große Datei effizient kopieren, ohne aus dem Speicher zu gehen? Ist es möglich, es in Funken zu tun? Sollte ich eine Streaming-Bibliothek wie Kafka verwenden?

Auf die gleiche Weise muss ich eine große Datei auf den FTP-Server schreiben, nachdem ich die Funkenanalyse abgeschlossen habe.

+0

[Lesen Sie die CSV-Datei in Apache Spark von Remote-Speicherort (ftp)] (https://stackoverflow.com/q/34479895/6910411) – user6910411

Antwort

0

Sie könnten einen einfachen Shell-Befehl Bluezone oder andere Randknoten Verbindungsterminalemulatoren verwenden:

cat bigfile.txt | ssh [email protected] 'hdfs dfs -put - /pathTo/hdfs'

Es wäre allerdings etwas langsamer sein, aber es funktioniert für mich für 300GB-Datei.

Hinweis: Ich habe dies getan, weil meine Datei auf einem Server war, auf dem Hadoop nicht installiert war. Wenn Ihr Server Hadoop installiert dann versuchen, können Sie einfach eine hdfs dfs -put

Verwandte Themen