如何使用hadoop fs -copyToLocal命令覆盖现有的文件
有什么办法可以覆盖现有的文件,而从HDFS应付使用: 
 hadoop fs -copyToLocal <HDFS PATH> <local path> 
	
 fs -copyFromLocal -f $LOCAL_MOUNT_SRC_PATH/yourfilename.txt your_hdfs_file-path 
 所以-f选项为你做的伎俩。 
 它也适用于-copyToLocal 。 
你可以先删除,然后写。
  hadoop fs -rmr <path>删除hdfs中给定path下的所有内容,包括path本身 
  rm -rf <path>在本地文件系统中删除。 
确保目录中没有其他文件。
我使用下面的命令,它帮助:
 hadoop fs -put -f <<local path>> <<hdfs>> 
但从文档:
将单个src或多个srcs从本地文件系统复制到目标文件系统。
 强制选项不存在任一命令( get / copytolocal )。 
以下是一些选项
 option 1 . 
用rm命令删除localmachine上的文件。
 并使用copyToLocal/get 
 option 2 
或将本地文件重命名为新名称,以便可以使用与群集上相同名称的文件。 使用mv命令。
 并使用get/copyTolocal命令 
 option 3 
重命名群集本身的文件并使用copytolocal
 hadoop fs -mv [oldpath] [newpath] hadoop fs -copytolocal [newpath] . 
您可以尝试使用distcp和-update。 主要优点是只有在文件发生变化时才会更新目标。
hadoop distcp -update file:// source hdfs:// namenode / target
 hadoop distcp -update file:///home/hduser/pigSample/labfiles/SampleData/books.csv hdfs://10.184.37.158:9000/yesB 
  -f选项的伎俩 
例:
 bin>hdfs dfs -put -f D:\DEV\hadoopsampledata\mydata.json /input 
-f工作我。
hdfs dfs -copyFromLocal -f [LOCALFILEPATH] [HDFSFILEPAHT]
你可以试试这个:
 bin/hadoop fs -rm /path_of_the_file | grep "0" | bin/hadoop fs -put ~/input_path /output_path