0

我正在尝试执行以下代码: http: //blog.xebia.com/2011/09/27/wiki-pagerank-with-hadoop/

javac 没有显示错误,但我不知道如何获取输出?这些是我正在遵循的执行步骤:

$ javac -Xlint -classpath /home/james/Downloads/hadoop-0.20.203.0/hadoop-core-0.20.203.0.jar -d  doc WikiPageRanking.java
$ jar -cvf WikiPageRanking.jar -C doc/ .
$ bin/hadoop dfs -mkdir /user/james/wiki/in
$ bin/hadoop dfs -copyFromLocal wiki-micro.txt /user/james/wiki/in
$ bin/hadoop jar WikiPageRanking.jar org.myorg.WikiPageRanking /user/james/wiki/in /user/james/wiki/result

这是正确的吗?我严重怀疑最后一步——输入和输出路径!!在代码中,他们使用了 wiki/in,这就是为什么我在这里给出了相同的路径,并且我已经将我的示例数据集复制到了这个路径。地图减少过程开始,但我没有得到任何输出!

4

1 回答 1

0

以下命令为您提供了什么:

hadoop fs -ls /user/james/wiki/result

hadoop fs -text /user/james/wiki/result/part*

运行作业不会自动将作业结果转储到控制台 - 它们通常存储在 HDFS 中(在您的情况下,在路径 /user/james/wiki/result 中)。您可以使用第一个命令查看此目录的内容,假设有一些 part* 文件,第二个命令会将其内容转储到磁盘

最后一点要注意 - 如果输出格式是 SequenceFileOutputFormat 并且您正在使用自定义键/值对象,则需要修改第二个命令以包含您的 jar:

hadoop fs -libjars WikiPageRanking.jar -text /user/james/wiki/result/part*
于 2012-03-25T16:08:16.670 回答