我目前正在为我在大学的一个讲座工作。任务是从https://www.gutenberg.org/下载书籍并将其复制到HDFS。我尝试使用put <localSrc> <dest>
,但它根本没用。
这就是我的代码目前在终端中的样子:
[cloudera@quickstart ~]$ put <pg16328.txt> <documents>
bash:意外令牌附近的语法错误`&lt;&#39;
感谢任何帮助。提前谢谢。
更新30.05.2017:我使用了以下链接https://www.cloudera.com/downloads/quickstart_vms/5-10.html来安装Hadoop
,并且根本没有配置任何内容。我唯一做的就是免除教程Getting started
。
答案 0 :(得分:0)
应该是:
hdfs fs -copyFromLocal pg16328.txt /HDFS/path
我不熟悉put
命令,但您是否在没有<>
的情况下尝试过它?
答案 1 :(得分:0)
如果您已成功提取并配置Hadoop
,那么
您应该在hadoop-home
目录中(您提取和配置hadoop
的位置)
然后应用以下命令
bin/hadoop dfs -put <local file location> <hdfs file location>
或
bin/hdfs dfs -put <local file location> <hdfs file location>
您也可以使用-copyFromLocal
命令执行相同的操作。只需在上述命令中将-put
替换为-copyFromLocal
。
例如:
假设你的桌面目录中有pg16328.txt
,那么上面的命令就是
bin/hadoop dfs -put /home/cloudera/Desktop/pg16328.txt /user/hadoop/
其中/user/hadoop
是hdfs
中的目录
如果/user/hadoop
目录不存在,则可以通过
bin/hadoop dfs -mkdir -f /user/hadoop
您可以使用webUI
(namenodeIP:50070
)或使用命令行查看上传的文件
bin/hadoop dfs -ls /user/hadoop/