Zuvor habe ich die Verwendung von Streams zum Herunterladen von HTTP- und FTP -Dateien in den lokalen Bereich implementiert und auch das Hochladen lokaler Dateien in HDFs implementiert.
Die FTP- und HTTP -Dateien werden an HDFs übertragen, und es müssen nicht die FTP- und HTTP -Dateien in lokal kopiert und dann in HDFs hochgeladen werden. Tatsächlich ist das Prinzip dieser Sache sehr einfach. Lassen Sie den Speicher den Übertragungsvorgang vervollständigen.
Hier sind die Links zu den vorherigen Tools:
HTTP -Tool
FTP Tool Link Beschreibung
Der Code ist wie folgt:
Java.io.inputStream; Importieren Sie Java.io.outputStream; Importieren Sie Java.io.ioException; öffentliche Klasse FileTrans {private String head = ""; "privates hdfsutil hdfsutil = null; String hdfsFilePath) {this.hdfsFilePath = HdfsFilePath; ; head = head; ); filepath; hdfsutil.gethdfsnode ()+hdfsutil.gethdfspath ()); .sethAopdefault ("./ Hadoop-Default.xml"); filepath = "" String hdfsFilePath = ""; ftp hostname = args [1]; /HDFS -Dateipfad localPath = args [5]; // Wenn Sie lokal speichern, speichern Sie N -Zeilen vor, falls nicht gespeichert, 0} füllen Sie (Ausnahme E) {System.out.println ("[Filetrans]: Eingabe -Argumenten -Fehler!"); } Filetrans filetrans = neuer filetrans (hostname, filepath, hdfsnode, hdfsfilepath); head.equals ("ftp") {System.out .println ("filetrans ftp null"); "https")) {System.out.println ("filetrans ftp null"); SampleLines> 0) {filetrans.ftp.Writestream (Instrenkung, lokaler Anpass, Beispiele); > 0) {filetrans.http.download (head + ": //" + hostname + "/" + filepath, lokaler Anpassung, Proben); if (head == "ftp") {filetrans.ftp .disconnect (); } System.out.println ("[Filetrans]: Dateitrans Erfolg!");Wenn es ein Problem mit der Kompilierung gibt, wird im Artikel im Hadoop -Tool erwähnt. Bitte zitieren Sie sie selbst.
Dieses Tool kann FTP oder HTTP auf HDFs übertragen und die ersten N -Zeilen lokal für die Analyse speichern
Das obige Inhalt ist in diesem Artikel. Ich hoffe, es wird für alle hilfreich sein, Java zu lernen.
Bitte nehmen Sie sich etwas Zeit, um den Artikel mit Ihren Freunden zu teilen oder einen Kommentar zu hinterlassen. Wir werden uns aufrichtig für Ihre Unterstützung bedanken!