1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.giraph.examples;
19
20 import org.apache.giraph.graph.BasicComputation;
21 import org.apache.giraph.graph.Vertex;
22 import org.apache.hadoop.io.IntWritable;
23 import org.apache.hadoop.io.NullWritable;
24
25 import java.io.IOException;
26
27
28
29
30 public class MaxComputation extends BasicComputation<IntWritable, IntWritable,
31 NullWritable, IntWritable> {
32 @Override
33 public void compute(Vertex<IntWritable, IntWritable, NullWritable> vertex,
34 Iterable<IntWritable> messages) throws IOException {
35 boolean changed = false;
36 for (IntWritable message : messages) {
37 if (vertex.getValue().get() < message.get()) {
38 vertex.setValue(message);
39 changed = true;
40 }
41 }
42 if (getSuperstep() == 0 || changed) {
43 sendMessageToAllEdges(vertex, vertex.getValue());
44 }
45 vertex.voteToHalt();
46 }
47 }