没有这样的文件或目录与hdfs

时间:2018-05-16 18:41:11

标签: hadoop hdfs

当我这样做时

$ ls

我找到一个名为file_name.csv

的文件

然而,当我尝试做

$ hdfs dfs -put /home/user_name/file_name.csv tempfolder 

(/ home / user_name /是file_name.csv所在的位置,而tempfolder是我在hdfs中创建的临时文件夹)。它说

“`/home/user_name/file_name.csv':没有这样的文件或目录”

即使它在那里。这背后有原因还是有人知道如何修复它?

注意:如果这是相关的,当我调用 hdfs dfs ... 时,它就是一个sudo。所以

sudoing "hdfs dfs -put /home/user_name/file_name.csv tempfolder"

2 个答案:

答案 0 :(得分:0)

可能会遇到shell扩展。尝试到目的地的完整路径:

hdfs dfs -put /home/user_name/file_name.csv /tempfolder

答案 1 :(得分:0)

首先,'/home/user_name/file_name.csv': No such file or directory"是本地计算机的错误。如果您看到包含ls的文件,请执行$PWD/file_name.csv

Sudo与这个问题关系不大。

之间存在差异
 hdfs:///tempfolder
 hdfs:///user/username/tempfolder

如果您sudo,则您将命令作为其他用户帐户运行,而不是您自己。

的错误应该相同
hdfs dfs -ls /user/username/tempfolder

如果您不提供绝对路径,则需要用户目录。换句话说,hdfs命令总是假设您默认写入HDFS用户文件夹。

  

虽然tempfolder是我在hdfs中创建的临时文件夹

如何创造?

使用sudo?因为那时HDFS中的用户帐户将不存在该目录。

您创建了/tempfolder吗?前导斜杠非常重要,需要在put命令中维护

如果该HDFS文件夹尚不存在,则尾部斜杠也很重要 - 否则,您将CSV复制到没有名为tempfolder的扩展名的文件