将文件复制到HDFS Hadoop

时间:2017-05-24 10:00:07

标签: bash hadoop hdfs cloudera

我目前正在为我在大学的一个讲座工作。任务是从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

2 个答案:

答案 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/hadoophdfs中的目录 如果/user/hadoop目录不存在,则可以通过

创建它
bin/hadoop dfs -mkdir -f /user/hadoop

您可以使用webUInamenodeIP:50070)或使用命令行查看上传的文件

bin/hadoop dfs -ls /user/hadoop/