Réponses:
bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
namenode_machine:50070
), recherchez le fichier que vous souhaitez copier, faites défiler la page et cliquez sur télécharger le fichier .Dans Hadoop 2.0,
hdfs dfs -copyToLocal <hdfs_input_file_path> <output_path>
où,
hdfs_input_file_path
peut-être obtenu de http://<<name_node_ip>>:50070/explorer.html
output_path
est le chemin local du fichier dans lequel le fichier doit être copié.
vous pouvez également utiliser get
à la place de copyToLocal
.
Afin de copier des fichiers de HDFS vers le système de fichiers local, la commande suivante peut être exécutée:
hadoop dfs -copyToLocal <input> <output>
<input>
: le chemin du répertoire HDFS (par exemple / mydata) que vous souhaitez copier<output>
: le chemin du répertoire de destination (par exemple ~ / Documents)hadoop fs -ls
?
vous pouvez accomplir de ces deux manières.
1.hadoop fs -get <HDFS file path> <Local system directory path>
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path>
Ex:
Mes fichiers sont situés dans /sourcedata/mydata.txt Je veux copier le fichier dans le système de fichiers local dans ce chemin / user / ravi / mydata
hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
Si votre «fichier» source est divisé entre plusieurs fichiers (peut-être à la suite de map-reduction) qui vivent dans la même arborescence de répertoires, vous pouvez le copier dans un fichier local avec:
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination
si vous utilisez docker, vous devez suivre les étapes suivantes:
copiez le fichier de hdfs vers namenode (hadoop fs -get output / part-r-00000 / out_text). "/ out_text" sera stocké sur le namenode.
copiez le fichier de namenode sur le disque local en (docker cp namenode: / out_text output.txt)
output.txt sera là dans votre répertoire de travail actuel
bin/hadoop fs -put /localfs/destination/path /hdfs/source/path