Ранее я реализовал использование потоков для загрузки HTTP и FTP -файлов в локальную область, а также внедрил загрузку локальных файлов в HDFS.
Файлы FTP и HTTP передаются в HDFS, и нет необходимости копировать файлы FTP и HTTP на локально, а затем загружать их в HDF. Фактически, принцип этой вещи очень прост. Местный жесткий диск, просто позвольте памяти завершить процесс передачи.
Вот ссылки на предыдущие инструменты:
http инструмент
Описание ссылки на инструмент FTP
Код заключается в следующем:
Импорт java.io.inputstream; импортировать java.io.outputstream; импорт java.io.ioexception; public class fileTrans {Private String Head = ""; "; String hdfsfilepath) {this.hdfsfilepath = hdfsfilepath; ; Head = This.hostname = hostname; ); FilePath; hdfsutil.gethdfsnode ()+hdfsutil.gethdfspath ()); .sethadoopdefault ("./ Hadoop-default.xml"); FilePath = ""; ftp hostname = args [1]; /HDFS PAILE PAIL LOCALPATH = ARGS [5]; // Если вы сохраняете локально, сохраните n строки, если не сохранились, заполните 0} Catch (Exception e) {System.out.println ("[fileTrans]: входной ошибку ARGS!"); } FileTrans fileTrans = new FileTrans (Head, 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 (instriam, localPath, образцы); > 0) {fileTrans.http.download (head + ": //" + hostname + "/" + filePath, localPath, образцы); if (head == "ftp") {fileTrans.ftp .disconnect (); } System.out.println ("[fileTrans]: File Trans Success!");Если есть какие -либо проблемы с компиляцией, это упоминается в статье на инструменте Hadoop. Пожалуйста, процитируйте их самостоятельно.
Этот инструмент может перенести FTP или HTTP на HDFS и сохранять первые N -линии локально для анализа
Вышеупомянутое - все контент, описанный в этой статье.
Пожалуйста, найдите время, чтобы поделиться статьей со своими друзьями или оставить комментарий. Мы искренне благодарим вас за вашу поддержку!