当我这么做的时候
$ ls
我发现一个文件名为:file\u name.csv
但是,当我尝试
$ hdfs dfs -put /home/user_name/file_name.csv tempfolder
(/home/user\u name/是文件\u name.csv所在的位置,而tempfolder是我在hdfs中创建的tempfolder)。上面写着
“`/home/user\u name/file\u name.csv”:没有这样的文件或目录”
即使它在那里。这背后有什么原因吗?或者有人知道怎么解决吗?
注意:如果这是相关的,当我调用hdfs dfs…,它是一个sudo。所以
sudoing "hdfs dfs -put /home/user_name/file_name.csv tempfolder"
2条答案
按热度按时间quhf5bfb1#
第一,
'/home/user_name/file_name.csv': No such file or directory"
是来自本地计算机的错误。如果你看到ls
,然后做$PWD/file_name.csv
sudo与这个问题关系不大。两者之间有区别
如果你
sudo
,您将以不同的用户帐户运行这些命令,而不是您自己。错误应该是相同的
如果不提供绝对路径,则需要用户目录。换句话说,hdfs命令总是假定您在默认情况下正在写入hdfs用户文件夹。
而tempfolder是我在hdfs中创建的tempfolder
怎么创造的?
使用sudo?因为在hdfs中,您的用户帐户的目录将不存在。
你创造了什么
/tempfolder
? 前导斜杠非常重要,需要在put命令中维护如果hdfs文件夹还不存在,后面的斜杠也很重要-否则,您将csv复制到一个扩展名为的文件中
tempfolder
0sgqnhkj2#
可能正在进行外壳扩展。尝试到目标的完整路径: