Comment réécrire les fichiers existants en utilisant la commande hadoop fs-copyToLocal
y a-t-il un moyen d'écraser les fichiers existants, tout en faisant face à HDFS
utilisation:
hadoop fs -copyToLocal <HDFS PATH> <local path>
8 réponses
fs -copyFromLocal -f $LOCAL_MOUNT_SRC_PATH/yourfilename.txt your_hdfs_file-path
-f
option fait l'affaire pour vous.
cela fonctionne aussi pour -copyToLocal
.
vous pouvez d'abord supprimer, puis écrire.
hadoop fs -rmr <path>
supprime tout ce qui est sous un chemin donné dans hdfs, y compris le chemin lui-même
rm -rf <path>
supprime dans le système de fichiers local.
assurez-vous qu'il n'y a pas d'autre fichier dans le répertoire.
j'ai utilisé la commande ci-dessous et ça a aidé:
hadoop fs -put -f <<local path>> <<hdfs>>
mais de put docs:
copier un src, ou plusieurs CSR du système de fichiers local vers le système de fichiers de destination.
L'option Force n'est pas disponible pour aucune des commandes (get
/copytolocal
).
voici quelques options
option 1 .
Supprimer le fichier sur localmachine rm la commande.
et utiliser copyToLocal/get
option 2
ou renommez votre fichier local en nouveau nom de sorte que vous puissiez avoir le fichier avec le même nom que sur cluster. utilisez mv commande pour cela.
et utilisez get/copyTolocal
commande
option 3
renommer le fichier sur le cluster lui-même et utiliser copytolocal
hadoop fs -mv [oldpath] [newpath]
hadoop fs -copytolocal [newpath] .
-f
option a fait le tour
exemple:
bin>hdfs dfs -put -f D:\DEV\hadoopsampledata\mydata.json /input
Vous pouvez essayer avec distcp avec-update . Le principal avantage est qu'il sera mettre à jour la cible seulement quand il y a un changement dans le fichier.
hadoop distcp -fichier de mise à jour://source hdfs://namenode/cible
hadoop distcp -update file:///home/hduser/pigSample/labfiles/SampleData/books.csv hdfs://10.184.37.158:9000/yesB
Vous pouvez essayer ceci :
bin/hadoop fs -rm /path_of_the_file | grep "0" | bin/hadoop fs -put ~/input_path /output_path
- f me travailler.
hdfs dfs-copyFromLocal-f [LOCALFILEPATH] [HDFSFILEPAHT]