Hadoop -copyFromLocal找不到输入文件

时间:2012-12-10 12:38:51

标签: hadoop hdfs

sudo -u hdfs hadoop fs -copyFromLocal input.csv input.csv
copyFromLocal: `input.csv': No such file or directory

有人能告诉我出现这种错误的确切原因吗?我给了input.csv文件的所有权限,我甚至将所有者更改为hdfs。我是Hadoop和Hbase的新手。

4 个答案:

答案 0 :(得分:4)

在这种情况下,您尝试将文件读取为hdfs用户,该用户可能无权查看此文件。要进行测试,请执行以下操作:

sudo -u hdfs cat input.csv

如果您获得权限被拒绝,您需要更改此文件的权限,以便hdfs用户可以读取它(或者如果它已经具有读取权限,则将文件移动到hdfs用户可以读取的目录),或者使用有权访问本地和远程目录/文件的其他用户。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

语法:hadoop dfs -copyFromLocal completelocalfilesystempath hdfspath

示例:让input.csv在localpath / usr / examples中,我需要复制的hdfs路径是/ usr / input,所以命令将是

hadoop dfs -copyFromLocal /usr/examples/input.csv / usr / input /

答案 3 :(得分:0)

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

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