You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hama.apache.org by ed...@apache.org on 2012/02/27 06:06:03 UTC
svn commit: r1294033 - in /incubator/hama/trunk: bin/
examples/src/main/java/org/apache/hama/examples/
graph/src/main/java/org/apache/hama/graph/
Author: edwardyoon
Date: Mon Feb 27 05:06:03 2012
New Revision: 1294033
URL: http://svn.apache.org/viewvc?rev=1294033&view=rev
Log:
Fix GraphJobRunner
Modified:
incubator/hama/trunk/bin/hama
incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/InlinkCount.java
incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/PageRank.java
incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/SSSP.java
incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJob.java
incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJobRunner.java
Modified: incubator/hama/trunk/bin/hama
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/bin/hama?rev=1294033&r1=1294032&r2=1294033&view=diff
==============================================================================
--- incubator/hama/trunk/bin/hama (original)
+++ incubator/hama/trunk/bin/hama Mon Feb 27 05:06:03 2012
@@ -107,6 +107,14 @@ if [ -d "$HAMA_HOME/core/target/test-cla
CLASSPATH=${CLASSPATH}:$HAMA_HOME/core/target/test-classes
fi
+# for developers, add Graph classes to CLASSPATH
+if [ -d "$HAMA_HOME/graph/target/classes" ]; then
+ CLASSPATH=${CLASSPATH}:$HAMA_HOME/graph/target/classes
+fi
+if [ -d "$HAMA_HOME/graph/target/test-classes/classes" ]; then
+ CLASSPATH=${CLASSPATH}:$HAMA_HOME/graph/target/test-classes
+fi
+
# so that filenames w/ spaces are handled correctly in loops below
IFS=
Modified: incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/InlinkCount.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/InlinkCount.java?rev=1294033&r1=1294032&r2=1294033&view=diff
==============================================================================
--- incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/InlinkCount.java (original)
+++ incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/InlinkCount.java Mon Feb 27 05:06:03 2012
@@ -50,7 +50,7 @@ public class InlinkCount extends Vertex<
InterruptedException, ClassNotFoundException {
// Graph job configuration
HamaConfiguration conf = new HamaConfiguration();
- GraphJob inlinkJob = new GraphJob(conf);
+ GraphJob inlinkJob = new GraphJob(conf, InlinkCount.class);
// Set the job name
inlinkJob.setJobName("Inlink Count");
Modified: incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/PageRank.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/PageRank.java?rev=1294033&r1=1294032&r2=1294033&view=diff
==============================================================================
--- incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/PageRank.java (original)
+++ incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/PageRank.java Mon Feb 27 05:06:03 2012
@@ -71,7 +71,7 @@ public class PageRank {
printUsage();
HamaConfiguration conf = new HamaConfiguration(new Configuration());
- GraphJob pageJob = new GraphJob(conf);
+ GraphJob pageJob = new GraphJob(conf, PageRank.class);
pageJob.setJobName("Pagerank");
pageJob.setVertexClass(PageRankVertex.class);
Modified: incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/SSSP.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/SSSP.java?rev=1294033&r1=1294032&r2=1294033&view=diff
==============================================================================
--- incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/SSSP.java (original)
+++ incubator/hama/trunk/examples/src/main/java/org/apache/hama/examples/SSSP.java Mon Feb 27 05:06:03 2012
@@ -79,7 +79,7 @@ public class SSSP {
// Graph job configuration
HamaConfiguration conf = new HamaConfiguration();
- GraphJob ssspJob = new GraphJob(conf);
+ GraphJob ssspJob = new GraphJob(conf, SSSP.class);
// Set the job name
ssspJob.setJobName("Single Source Shortest Path");
Modified: incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJob.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJob.java?rev=1294033&r1=1294032&r2=1294033&view=diff
==============================================================================
--- incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJob.java (original)
+++ incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJob.java Mon Feb 27 05:06:03 2012
@@ -26,9 +26,10 @@ import org.apache.hama.bsp.BSPJob;
public class GraphJob extends BSPJob {
public final static String VERTEX_CLASS_ATTR = "hama.graph.vertex.class";
- public GraphJob(HamaConfiguration conf) throws IOException {
+ public GraphJob(HamaConfiguration conf, Class<?> exampleClass) throws IOException {
super(conf);
this.setBspClass(GraphJobRunner.class);
+ this.setJarByClass(exampleClass);
}
/**
@@ -39,7 +40,6 @@ public class GraphJob extends BSPJob {
*/
public void setVertexClass(Class<? extends Vertex<? extends Writable>> cls)
throws IllegalStateException {
- ensureState(JobState.DEFINE);
conf.setClass(VERTEX_CLASS_ATTR, cls, Vertex.class);
}
Modified: incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJobRunner.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJobRunner.java?rev=1294033&r1=1294032&r2=1294033&view=diff
==============================================================================
--- incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJobRunner.java (original)
+++ incubator/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJobRunner.java Mon Feb 27 05:06:03 2012
@@ -25,6 +25,9 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.MapWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
@@ -36,6 +39,7 @@ import org.apache.hama.util.KeyValuePair
@SuppressWarnings("rawtypes")
public class GraphJobRunner extends BSP {
+ public static final Log LOG = LogFactory.getLog(GraphJobRunner.class);
private Map<String, Vertex> vertices = new HashMap<String, Vertex>();
@SuppressWarnings("unchecked")
@@ -85,11 +89,15 @@ public class GraphJobRunner extends BSP
@SuppressWarnings("unchecked")
public void setup(BSPPeer peer) throws IOException, SyncException,
InterruptedException {
+ Configuration conf = peer.getConfiguration();
+ LOG.debug("vertex class: " + conf.get("hama.graph.vertex.class"));
+
KeyValuePair<? extends VertexWritable, ? extends VertexArrayWritable> next = null;
while ((next = peer.readNext()) != null) {
- Vertex vertex = (Vertex) ReflectionUtils.newInstance(
- peer.getConfiguration().getClass("hama.graph.vertex.class",
- Vertex.class), peer.getConfiguration());
+ Vertex<? extends Writable> vertex = (Vertex<? extends Writable>) ReflectionUtils
+ .newInstance(
+ peer.getConfiguration().getClass("hama.graph.vertex.class",
+ Vertex.class), peer.getConfiguration());
vertex.setVertexID(next.getKey().getName());
vertex.peer = peer;
@@ -106,10 +114,15 @@ public class GraphJobRunner extends BSP
}
long numberVertices = vertices.size() * peer.getNumPeers();
-
for (Map.Entry<String, Vertex> e : vertices.entrySet()) {
e.getValue().setNumVertices(numberVertices);
+ }
+ startVertexCompute();
+ }
+
+ private void startVertexCompute() throws IOException {
+ for (Map.Entry<String, Vertex> e : vertices.entrySet()) {
LinkedList<Writable> msgIterator = new LinkedList<Writable>();
msgIterator.add(e.getValue().getValue());
e.getValue().compute(msgIterator.iterator());
@@ -118,10 +131,9 @@ public class GraphJobRunner extends BSP
public void cleanup(BSPPeer peer) {
// FIXME provide write solution to Vertex
- System.out.println("for debug\n==================");
+ LOG.debug("for debug\n==================");
for (Map.Entry<String, Vertex> e : vertices.entrySet()) {
- System.out.println(e.getValue().getVertexID() + ", "
- + e.getValue().getValue());
+ LOG.debug(e.getValue().getVertexID() + ", " + e.getValue().getValue());
}
}
}