我在本地目录中创建了一个名为“file.txt”的文件,现在我想使用以下命令将其放入HDFS: -
]$ hadoop fs -put file.txt abcd
我收到了像
这样的回复put: 'abcd': no such file or directory
我从未在Linux上工作过。请帮帮我 - 如何将文件“file.txt”放入HDFS?
答案 0 :(得分:2)
如果您没有在hadoop中指定绝对路径(使用HDFS或其他文件系统),它会预先附加您的用户目录以创建一个绝对路径。
默认情况下,在HDFS中,默认文件夹应为 / user / 用户名 。
然后,在您的情况下,您尝试创建文件file.txt
并在其中加入本地whoami
的内容。
用户名是您的本地计算机中的操作系统用户。您可以使用hdfs dfs
命令获取它。
问题是您的用户文件夹在HDFS中不存在,您需要创建它。
BTW,根据hadoop文档,使用HDFS的正确命令是hadoop fs
而不是whoami
(https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html)。但到现在两者都应该有效。
然后:
hdfs dfs -mkdir -p /user/<user name>
命令。
PUT
然后你应该能够执行你的-p
命令。
注意:{{1}}参数用于创建/ user文件夹(如果它不存在)。