Respostas:
bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
namenode_machine:50070
), navegue até o arquivo que você deseja copiar, role a página para baixo e clique em baixar o arquivo .No Hadoop 2.0,
hdfs dfs -copyToLocal <hdfs_input_file_path> <output_path>
Onde,
hdfs_input_file_path
talvez obtido de http://<<name_node_ip>>:50070/explorer.html
output_path
é o caminho local do arquivo, para o qual o arquivo deve ser copiado.
você também pode usar get
no lugar de copyToLocal
.
Para copiar arquivos do HDFS para o sistema de arquivos local, o seguinte comando pode ser executado:
hadoop dfs -copyToLocal <input> <output>
<input>
: o caminho do diretório HDFS (por exemplo, / mydata) que você deseja copiar<output>
: o caminho do diretório de destino (por exemplo, ~ / Documents)hadoop fs -ls
?
você pode realizar de ambas as formas.
1.hadoop fs -get <HDFS file path> <Local system directory path>
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path>
Ex:
Meus arquivos estão localizados em /sourcedata/mydata.txt . Quero copiar o arquivo para o sistema de arquivos local neste caminho / user / ravi / mydata
hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
Se o seu "arquivo" de origem estiver dividido em vários arquivos (talvez como resultado da redução de mapa) que residem na mesma árvore de diretórios, você poderá copiá-lo para um arquivo local com:
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination
se você estiver usando a janela de encaixe, execute as seguintes etapas:
copie o arquivo de hdfs para namenode (hadoop fs -get output / parte-r-00000 / out_text). "/ out_text" será armazenado no namenode.
copie o arquivo do namenode para o disco local (docker cp namenode: / out_text output.txt)
output.txt estará lá no seu diretório de trabalho atual
bin/hadoop fs -put /localfs/destination/path /hdfs/source/path