hdfs-dfs-put是否覆盖?

2ic8powd  于 2021-05-29  发布在  Hadoop
关注(0)|答案(4)|浏览(446)

我正在使用

hdfs dfs -put myfile mypath

我得到的一些文件

put: 'myfile': File Exists

这意味着有一个同名的文件,还是说已经有相同的文件(大小、内容)?
如何在此处指定-overwrite选项?
谢谢!

pcww981p

pcww981p1#

您可以使用-f命令覆盖hdfs中的文件

hadoop fs -put -f <localfile> <hdfsDir>

hadoop fs -copyFromLocal -f <localfile> <hdfsDir>

对我来说效果不错。但是-f命令在get或copytolocal命令的情况下不起作用。检查这个问题

q0qdq0h2

q0qdq0h22#

您试图写入的位置存在同名文件。
您可以通过指定-f标志来覆盖。

uidvcgyl

uidvcgyl3#

只是更新了这个答案,在hadoop3.x中命令有点不同

hdfs dfs -put -f /local/to/path hdfs://localhost:9870/users/XXX/folder/folder2
pdtvr36n

pdtvr36n4#

put: 'myfile': File Exists 表示hdfs中已经存在名为“myfile”的文件。hdfs中不能有多个同名文件
您可以使用 hadoop fs -put -f /path_to_local /path_to_hdfs

相关问题