我正在尝试执行以下代码: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,这就是为什么我在这里给出相同的路径,并且我已经将我的示例数据集复制到此路径。地图缩小过程开始,但我没有输出!!
答案 0 :(得分: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*