尝试将 csv 从一个目录复制到另一个目录时出现 HDFS 'No such file or directory' 错误

HDFS 'No such file or directory' error when trying to copy csv from one directory to another

我正在使用 Hortonworks Sandbox(不确定这是否重要)并试图将 csv 文件从“/user/root/”目录复制到“/user/nyc_taxi/”目录,但它给了我一个'No such file or directory' 错误。我非常确定名为 'yellow_tripdata_2016_01.csv' 的 csv 位于“/user/root/”目录中。

我用Windows 10以下是我在终端写的命令:

>sudo su - hdfs
>hdfs dfs -mkdir /user/root
>hdfs dfs -mkdir /user/nyc_taxi
>hdfs dfs -chown root:hdfs /user/root
>hdfs dfs -chown root:hdfs /user/nyc_taxi
>exit
>hadoop fs -put yellow_tripdata_2016_01.csv /user/nyc_taxi/

前6条命令没有问题。但是当我 运行 最后一个终端返回 'No such file or directory' 错误。我还尝试通过 运行 这个命令指定 csv 的实际路径:

hadoop fs -put /user/root/yellow_tripdata_2016_01.csv /user/nyc_taxi/ 

但是还是出现同样的错误信息。

从下面的截图可以看出,csv文件显然在'/user/root/'目录下。

非常感谢feedback/recommendation!

-put 命令在本地文件系统而不是 hdfs 上查找 yellow_tripdata_2016_01.csv 文件。

但是您的文件在 HDFS 中,这就是您收到该错误的原因。

有关 Hadoop -put/-cp/-mv 命令的更多详细信息,请参阅 this link。

如果你想 copy/move HDFS 文件到另一个 HDFS 目录使用下面的命令

复制文件到另一个hdfs目录:

hadoop fs -cp /user/root/yellow_tripdata_2016_01.csv /user/nyc_taxi/

将文件移动到另一个目录:

hadoop fs -mv /user/root/yellow_tripdata_2016_01.csv /user/nyc_taxi/