2013-07-24 4 views

Antwort

147
  1. bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
  2. bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
  3. Point Ihr Web-Browser HDFS WebUI (namenode_machine:50070), auf die Datei, die Sie kopieren möchten blättern, scrollen Sie die Seite und klicken Sie auf die Datei herunterladen.
+0

perfekt tariq, bekam ich das es, ** Es gibt keinen physischen Speicherort eine Datei unter der Datei, nicht einmal Verzeichnis. ** ist/hadoop dfs -ls/use/hadoop/myfolder ich kann die Datei anzeigen, von mir habe ich die Info als ** Um die Datei zu überprüfen, können Sie es von HDFS in das lokale Dateisystem ** kopieren, so dass ich obwohl ich sie verschieben kann winscp – Surya

+1

noch einmal muss ich erwähnen, tariq, vielen dank für die beitrag zeit und wissen. Danke vielmals .Du hast viel Unterstützung geleistet, das gibt einem neuen Bie wie mir viel Selbstvertrauen. – Surya

+1

Ich verstehe. Sie können den Befehl hdfs cat verwenden, wenn Sie den Inhalt der Datei anzeigen oder die Datei im Webui öffnen möchten. Dies erspart Ihnen das Herunterladen der Datei auf Ihre lokalen fs. Bitte schön. Und wenn Sie zu 100% mit den Antworten auf Ihre Fragen zufrieden sind, können Sie sie markieren, damit andere davon profitieren können. Nicht nur für dieses, sondern generell. – Tariq

9

Um Dateien von HDFS in dem lokalen Dateisystem den folgenden Befehl kopieren kann ausgeführt werden:

hadoop dfs -copyToLocal <input> <output>

  • <input>: der HDFS Verzeichnispfad (zB/mydata), die Sie wollen kopieren
  • <output>: das Zielverzeichnis Pfad (zB ~/Dokumente)
+0

Das scheint bei mir nicht zu funktionieren. Es wird immer Datei nicht gefunden. Ich verwende clouderas VM-Instanz, die Cent 6,4 – SutharMonil

+0

@SutharMonil hat Sind Sie sicher, dass die Datei tatsächlich da ist? Kannst du dort über 'hadoop fs -ls' surfen? –

+0

Was ist der Befehl für einen anderen Weg? – NIMISHAN

-3
bin/hadoop fs -put /localfs/destination/path /hdfs/source/path 
+0

hdfs dfs -put ist ein Befehl, um Dateien von lokalen FS nach HDFS zu übertragen. hdfs dfs -get ist die richtige Option – broussea

6

In Hadoop 2.0

hdfs dfs -copyToLocal <hdfs_input_file_path> <output_path> 

wo

  • hdfs_input_file_path erhalten vielleicht von http://<<name_node_ip>>:50070/explorer.html

  • output_path ist der lokale Pfad der Datei, in dem die Datei sein kopiert nach.

  • können Sie auch get anstelle von copyToLocal verwenden.

3

können Sie auf beide Arten erreichen.

1.hadoop fs -get <HDFS file path> <Local system directory path> 
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path> 

Ex:

befinden sich die Dateien befinden in /sourcedata/mydata.txt Ich möchte /user/Ravi/mydata Datei auf lokale Dateisystem in diesem Pfad kopieren

hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/ 
0

Dies funktionierte für mich auf meiner VM-Instanz von Ubuntu.

hdfs dfs -copyToLocal [hadoop Verzeichnis] ​​[lokales Verzeichnis] ​​

Verwandte Themen