无法将文件从本地目录放到HDFS

时间:2015-09-23 21:31:46

标签: hadoop hdfs hadoop-partitioning

我在本地目录中创建了一个名为“file.txt”的文件,现在我想使用以下命令将其放入HDFS: -

]$ hadoop fs -put file.txt abcd

我收到了像

这样的回复
put: 'abcd': no such file or directory 

我从未在Linux上工作过。请帮帮我 - 如何将文件“file.txt”放入HDFS?

1 个答案:

答案 0 :(得分:2)

如果您没有在hadoop中指定绝对路径(使用HDFS或其他文件系统),它会预先附加您的用户目录以创建一个绝对路径。

默认情况下,在HDFS中,默认文件夹应为 / user / 用户名

然后,在您的情况下,您尝试创建文件file.txt并在其中加入本地whoami的内容。

用户名是您的本地计算机中的操作系统用户。您可以使用hdfs dfs命令获取它。

问题是您的用户文件夹在HDFS中不存在,您需要创建它。

BTW,根据hadoop文档,使用HDFS的正确命令是hadoop fs而不是whoamihttps://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html)。但到现在两者都应该有效。

然后:

  1. 如果您在本地操作系统中不知道您的用户名。打开终端并运行hdfs dfs -mkdir -p /user/<user name>命令。
  2. 执行以下命令,替换用户名
  3.   

    PUT

    然后你应该能够执行你的-p命令。

    注意:{{1}}参数用于创建/ user文件夹(如果它不存在)。