2012-12-10 46 views
3
sudo -u hdfs hadoop fs -copyFromLocal input.csv input.csv 
copyFromLocal: `input.csv': No such file or directory 

任何人都可以告诉我为什么我得到这种错误的确切原因?我给了input.csv文件的所有权限,我甚至将所有者更改为hdfs。我是Hadoop和Hbase的新手。Hadoop -copyFromLocal找不到输入文件

+1

你在包含input.csv一个目录下运行这个命令? – Will

+0

是的。即使我试图通过给input.csv文件的完整路径。仍然是相同的结果。 sudo -u hdfs hadoop fs -copyFromLocal /home/amiverma/input.csv /hbase/input – MapReddy

回答

0

语法:hadoop的DFS -copyFromLocal completelocalfilesystempath hdfspath

实施例:设input.csv在局部路径的/ usr /实施例和我的HDFS路径它需要复制是/ usr /输入使命令将

Hadoop的DFS -copyFromLocal /usr/examples/input.csv在/ usr /输入/

+0

Thanx vinay您的快速响应是啊,即使我尝试了完整的本地文件系统路径,仍然输出是相同的。和命令看起来像sudo -u hdfs hadoop fs -copyFromLocal /home/amiverma/input.csv/hbase/input/ – MapReddy

+0

嗨MadhusudhanaReddy其实命令sudo -u hdfs hadoop fs -copyFromLocal /home/amiverma/input.csv/hbase/input /显示权限异常,所以我尝试使用hadoop dfs -copyFromLocal /home,amiverma/input.csv/hbase/input /它工作 –

4

在这种情况下,你正在试图读取该文件作为HDFS的用户,WHI ch可能没有权限查看此文件。为了测试,这样做:

sudo -u hdfs cat input.csv 

如果你得到许可被拒绝,您可能需要更改该文件的权限,这样HDFS用户可以读取它(或者,如果它已经读取权限,将文件移动到一个hdfs用户可以读取的目录),或者使用具有访问本地和远程目录/文件权限的其他用户。

1

您需要确保用户hdfs对路径上的所有父目录input.csv有读取权限。

0

要复制的文件,你可以像这样运行:

cat input.csv | sudo -u hdfs hadoop fs -put - input.csv