[英]Hadoop/HDFS: put command fails - No such file or directory
我不知道为什么我不能将文件从一个目录移动到另一个目录。 我可以查看文件的内容,但不能将同一个文件移动到另一个目录中。
工作正常:
hadoop fs -cat /user/hadoopusr/project-data.txt
不起作用:
hadoop fs -put /user/hadoopusr/project-data.txt /user/hadoopusr/Projects/MarketAnalysis
我收到No such file or directory
错误消息。 怎么了? 请帮忙。 谢谢!
正如我们可以从这里读到的-put
命令:
该命令用于将文件从本地文件系统复制到 HDFS 文件系统。 此命令类似于 –copyFromLocal 命令。 如果文件已经存在,则此命令将不起作用,除非为该命令提供了 –f 标志。 如果文件在复制之前已经存在,这将覆盖目标
这清楚地说明了为什么它不起作用并抛出No such file or directory
消息。 这是因为它在本地文件系统的当前目录中找不到任何名为project-data.txt
文件。
您计划在 HDFS内的目录之间移动文件,因此我们可以像在本地文件系统中一样简单地使用-mv
参数,而不是使用-put
参数进行移动!
在我自己的 HDFS 上进行了如下测试:
hadoop fs -mkdir source_dir dest_dir
hadoop fs -touch source_dir/test.txt
hadoop fs -mv source_dir/test.txt dest_dir/test.txt
(注意文件路径和目标目录的/user/username/
部分是如何不需要的,因为 HDFS 默认位于您正在工作的这个目录中。您还应该注意,您必须写下包含文件名的目的地。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.