Réponses:
bin/hadoop fs -get /hdfs/source/path /localfs/destination/pathbin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/pathnamenode_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