Time for action – the third run
Let's validate that assumption by running the algorithm for the third time.
Execute the MapReduce job:
$ hadoop jar graph.jarGraphPathgraphout2graphout3
Examine the output file:
$ hadoop fs -cat /user/hadoop/graphout3/part-r-00000 12,3,40D 21,41D 31,5,61D 41,21D 53,62D 63,52D 76-1P
What just happened?
We now see nodes 1 through 6 are complete. But node 7 is still pending and no nodes are currently being processed, as shown in the following figure:
The reason for this state is that though node 7 has a link to node 6, there is no edge in the reverse direction. Node 7 is therefore effectively unreachable from node 1. If we run the algorithm one final time, we should expect to see the graph unchanged.