已创建文件夹 [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
如何解决这个问题?
3条答案
按热度按时间vlju58qv1#
阿南德的回答当然是正确的。但这可能不是打字错误,而是一个微妙的陷阱。通常,当人们学习新技术时,他们会从网站和博客上复制和粘贴命令。通常,最初作为破折号输入的内容将作为连字符复制。连字符与破折号的不同之处在于它们稍微长一点,因此很难发现错误,但由于它们是完全不同的字符,因此命令是错误的,即“找不到”。
dhxwm5r42#
尝试了您的命令,并且“它出现了”,在上面的命令“hadoop fs–put…”中有一个输入错误。
使用'-put'或'-copyfromlocal'代替'-put'。“–”有问题,但正确的字符应该是“-”。因此,错误是显而易见的:-)
下面是我的示例(使用get命令而不是put):
xzabzqsa3#
复制粘贴命令并使用它时,可能会出现此问题。这是因为复制文档时所用的字体(或字符集)发生了变化。
例如:
如果复制/粘贴并执行命令-
hdfs dfs -put workflow.xml /testfile/workflow.xml
你可能会-或
这是因为复制是从utf-8文件完成的,而
-
或者u
复制的(或任何字符)可以是不同的字符集。所以只要在终端上键入命令(不要复制/粘贴),就可以了。
或者,如果您正在运行从其他编辑器复制的shell脚本,则运行
dos2unix
在linux终端上运行脚本之前。如:
dos2unix <shell_script.sh>