hadoop fs–put unknown命令

4sup72z8  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(661)

已创建文件夹 [LOAN_DATA] 使用以下命令

hadoop fs -mkdir hdfs://masterNode:8020/tmp/hadoop-hadoop/dfs/LOAN_DATA

现在在我列出目录的内容时使用WebUI /tmp/hadoop-hadoop/dfs ,它显示 LOAN_DATA .
但是当我想把一些数据从一个txt文件存储到 LOAN_DATA 目录使用 put 或者 copyFromLocal 我明白了
put:未知命令
使用的命令:

hadoop fs –put '/home/hadoop/my_work/Acquisition_2012Q1.txt' hdfs://masterNode:8020/tmp/hadoop-hadoop/dfs/LOAN_DATA

如何解决这个问题?

vlju58qv

vlju58qv1#

阿南德的回答当然是正确的。但这可能不是打字错误,而是一个微妙的陷阱。通常,当人们学习新技术时,他们会从网站和博客上复制和粘贴命令。通常,最初作为破折号输入的内容将作为连字符复制。连字符与破折号的不同之处在于它们稍微长一点,因此很难发现错误,但由于它们是完全不同的字符,因此命令是错误的,即“找不到”。

dhxwm5r4

dhxwm5r42#

尝试了您的命令,并且“它出现了”,在上面的命令“hadoop fs–put…”中有一个输入错误。
使用'-put'或'-copyfromlocal'代替'-put'。“–”有问题,但正确的字符应该是“-”。因此,错误是显而易见的:-)
下面是我的示例(使用get命令而不是put):

$ hadoop fs –get /tmp/hadoop-data/output/* /tmp/hadoop-data/output/
 –get: Unknown command
$ hadoop fs -get /tmp/hadoop-data/output/* /tmp/hadoop-data/output/
 get: `/tmp/hadoop-data/output/part-r-00000': File exists
xzabzqsa

xzabzqsa3#

复制粘贴命令并使用它时,可能会出现此问题。这是因为复制文档时所用的字体(或字符集)发生了变化。
例如:
如果复制/粘贴并执行命令- hdfs dfs -put workflow.xml /testfile/workflow.xml 你可能会-

–put: Unknown command

–p-t: Unknown command

这是因为复制是从utf-8文件完成的,而 - 或者 u 复制的(或任何字符)可以是不同的字符集。
所以只要在终端上键入命令(不要复制/粘贴),就可以了。
或者,如果您正在运行从其他编辑器复制的shell脚本,则运行 dos2unix 在linux终端上运行脚本之前。
如: dos2unix <shell_script.sh>

相关问题