2016-08-01 30 views
0

Ich würde Distcp verwenden, um eine Liste von Dateien (> 1K-Dateien) in hdfs zu kopieren. Ich habe bereits eine Liste von Dateien im lokalen Verzeichnis gespeichert. Kann ich jetzt -f verwenden, um alle Dateien zu kopieren? Wenn ja, welches Format muss ich in meiner Dateilisten-Datei pflegen? oder gibt es einen anderen besseren Weg?Hadoop distcp mit Dateiliste

+1

Hallo, Sie können distcp nicht verwenden, um Dateien von LFS (lokales Dateisystem) nach HDFS zu kopieren. Der korrekte Befehl lautet -copyFromLocal raunakjhawar

Antwort

0

Sie müssen distcp nicht verwenden, wenn Ihr Anwendungsfall Daten vom lokalen Dateisystem (z. B. Linux) nach HDFS kopiert. Sie können einfach hdfs dfs -put Befehl für den gleichen verwenden. Hier ist die Syntax.

hdfs dfs -put /path/to/local/dir/* /path/on/hdfs/

z.B.

hdfs dfs -mkdir /user/hduser/destination-dir/

hdfs dfs -put /home/abc/mydir/* /user/hduser/destination-dir/

Sie haben eine Datei mit Liste der Dateipfade erstellt, aber das ist überhaupt nicht benötigt. Es wird hauptsächlich verwendet (für distcp), wenn Sie Daten von einem Cluster in andere Cluster kopieren