Comment copier un fichier de HDFS vers le système de fichiers local. Il n'y a pas d'emplacement physique d'un fichier sous le fichier, pas même un répertoire. comment puis-je les déplacer dans mon local pour d'autres validations.Je suis essayé par Winscp.
bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
namenode_machine:50070
), naviguez jusqu'au 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, vers lequel le fichier doit être copié.
vous pouvez également utiliser get
à la place de copyToLocal
.
Afin de copier des fichiers de HDFS sur le système de fichiers local, vous pouvez exécuter la commande suivante:
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)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 sur le système de fichiers local dans ce chemin / user/ravi/mydata
hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
Cela a fonctionné pour moi sur mon instance VM d'Ubuntu.
hdfs dfs -copyToLocal [répertoire hadoop] [répertoire local]
Si votre "fichier" source est divisé en plusieurs fichiers (peut-être à la suite d'une réduction de carte) situés dans la même arborescence, vous pouvez les copier dans un fichier local avec:
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination