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

问题描述 投票:0回答:2

当我做

$ 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"
hadoop hdfs
2个回答
0
投票

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

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

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的扩展名的文件中

© www.soinside.com 2019 - 2024. All rights reserved.