hadoop mapreduce字数教程错误:输入路径不存在

jhdbpxl9  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(518)

在我的clouderavm上运行eclipse中的hadoop wordcout教程时,我遇到了一个错误。错误是:

Input path does not exist: file:/user/cloudera/wordcount/input

但是,这个目录确实存在,我已经专门创建了它,并且在我的hdfs文件浏览器中查看它。
我的命令行查询和浏览器的屏幕截图。
我已将您看到的命令中的目录复制粘贴到eclipse中的运行配置中,以下是我的参数:

/user/cloudera/wordcount/input /user/cloudera/wordcount/output

而代码本身并没有根据我下载的示例进行修改,相关行是:

FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));

编辑:

hadoop jar /home/cloudera/examples/wordcount.jar WordCount /user/cloudera/wordcount/input /user/cloudera/wordcount/output

这个命令在终端中工作,但是当我用参数“/user/cloudera/wordcount/input/user/cloudera/wordcount/output”执行构建jar的java文件时(没有更改,只是export->jar文件),我会得到上面的错误。
为什么eclipse不能正确运行这个任务?它从终点站开始工作。

xmq68pz9

xmq68pz91#

为什么eclipse不能正确运行这个任务?
我想你是在付出 /user/cloudera/wordcount/input 作为 args[0] 去Eclipse?
这将创建 new Path(args[0]) ,它是本地jvm和文件系统,由uri指定 file:// .
当你把论点给 hadoop jar ,它知道应该从hdfs读取,hdfs在xml文件中为hadoop配置指定,并在uri处查找输入 hdfs:// .
供参考, ls -l / 相比 hdfs dfs -ls / 是非常不同的输出。前者没有指定的路径。
旁注:默认的hdfs路径是 file:// ,但cloudera quickstart为您改变了这一点。

相关问题