Risposte:
bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
namenode_machine:50070
), cerca il file che intendi copiare, scorri la pagina verso il basso e fai clic su scarica il file .In Hadoop 2.0,
hdfs dfs -copyToLocal <hdfs_input_file_path> <output_path>
dove,
hdfs_input_file_path
forse ottenuto da http://<<name_node_ip>>:50070/explorer.html
output_path
è il percorso locale del file, in cui il file deve essere copiato.
puoi anche usare get
al posto di copyToLocal
.
Per copiare file da HDFS nel file system locale è possibile eseguire il comando seguente:
hadoop dfs -copyToLocal <input> <output>
<input>
: il percorso della directory HDFS (ad es. / mydata) che si desidera copiare<output>
: il percorso della directory di destinazione (es. ~ / Documents)hadoop fs -ls
?
puoi realizzare in entrambi questi modi.
1.hadoop fs -get <HDFS file path> <Local system directory path>
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path>
Ex:
I miei file si trovano in /sourcedata/mydata.txt . Voglio copiare il file nel file system locale in questo percorso / utente / ravi / mydata
hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
Se il "file" di origine è suddiviso tra più file (forse a causa della riduzione della mappa) che vivono nella stessa struttura di directory, puoi copiarlo in un file locale con:
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination
se si sta utilizzando la finestra mobile, è necessario eseguire le seguenti operazioni:
copia il file da hdfs a namenode (hadoop fs -get output / part-r-00000 / out_text). "/ out_text" verrà memorizzato sul namenode.
copia il file da namenode sul disco locale da (docker cp namenode: / out_text output.txt)
output.txt sarà presente nella directory di lavoro corrente
bin/hadoop fs -put /localfs/destination/path /hdfs/source/path