Author: edwardyoon
Date: Thu Mar 6 01:29:39 2014
New Revision: 1574739
URL: http://svn.apache.org/r1574739
Log:
HAMA-885: Semi-Clustering Algorithm implementation is not producing expected
output
Added:
hama/trunk/examples/src/test/resources/semiclustering.txt
Modified:
hama/trunk/examples/src/test/java/org/apache/hama/examples/SemiClusterMatchingTest.java
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterDetails.java
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterMessage.java
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusteringVertex.java
Modified:
hama/trunk/examples/src/test/java/org/apache/hama/examples/SemiClusterMatchingTest.java
URL:
http://svn.apache.org/viewvc/hama/trunk/examples/src/test/java/org/apache/hama/examples/SemiClusterMatchingTest.java?rev=1574739&r1=1574738&r2=1574739&view=diff
==============================================================================
---
hama/trunk/examples/src/test/java/org/apache/hama/examples/SemiClusterMatchingTest.java
(original)
+++
hama/trunk/examples/src/test/java/org/apache/hama/examples/SemiClusterMatchingTest.java
Thu Mar 6 01:29:39 2014
@@ -55,7 +55,7 @@ import org.junit.Test;
@SuppressWarnings("unused")
public class SemiClusterMatchingTest extends TestCase {
- private static String INPUT = "/tmp/graph.txt";
+ private static String INPUT = "src/test/resources/semiclustering.txt";
private static String OUTPUT = "/tmp/graph-semiCluster";
private static final String semiClusterMaximumVertexCount =
"semicluster.max.vertex.count";
private static final String graphJobMessageSentCount =
"semicluster.max.message.sent.count";
@@ -69,40 +69,6 @@ public class SemiClusterMatchingTest ext
fs = FileSystem.get(conf);
}
- private void generateTestData() throws IOException {
- int vertexNameStart = 0, vertexNameEnd = 300, vertexEdgeMin = 30,
vertexEdgeMax = 40;
- BufferedWriter bw = new BufferedWriter(new FileWriter(INPUT));
- for (int i = vertexNameStart; i < vertexNameEnd; i++) {
- StringBuilder sb = new StringBuilder();
- int numberOfEdges = 10;
- Map<Integer, Integer> mp = new HashMap<Integer, Integer>();
- int mapSize = 0, min = i - (i % 10), max = i + (10 - (i % 10) - 1);
- while (mapSize < numberOfEdges) {
- int edgeVal = randomInRange(min, max);
- if (mp.containsKey(edgeVal)) {
- int val = mp.get(edgeVal);
- mp.put(edgeVal, val++);
- } else
- mp.put(edgeVal, 1);
- mapSize = mp.size();
- }
- Iterator<Integer> itr = mp.keySet().iterator();
- sb.append(i + "\t");
- for (int j = 0; j < numberOfEdges; j++) {
- int key = itr.next();
- if (j != numberOfEdges - 1)
- sb.append(key + "-" + (float) mp.get(key) / (float) numberOfEdges
- + ",");
- else
- sb.append(key + "-" + (float) mp.get(key) / (float) numberOfEdges);
- }
- bw.write(sb.toString());
- if (i < vertexNameEnd)
- bw.write("\n");
- }
- bw.close();
- }
-
public static int random(int max) {
return (new Random().nextInt(max));
}
@@ -185,9 +151,11 @@ public class SemiClusterMatchingTest ext
Map<String, List<String>> mpOutPutCluser = outputClusterLoader();
Iterator it = mpOutPutCluser.entrySet().iterator();
while (it.hasNext()) {
- System.out.println(it.next());
flag = true;
- Map.Entry pairs = (Map.Entry) it.next();
+ Map.Entry<String, List<String>> pairs = (Map.Entry<String,
List<String>>) it
+ .next();
+ System.out.println(pairs.getKey() + " = " + pairs.getValue());
+ assertEquals(pairs.getValue().size(), 10);
List<String> valFromMap = new ArrayList<String>();
List<String> val2 = (List<String>) pairs.getValue();
int size = val2.size();
@@ -202,13 +170,11 @@ public class SemiClusterMatchingTest ext
count++;
}
}
- assertEquals("Semi Cluster Test Successful", 30, count);
+ assertEquals("Semi Cluster Test Successful", 10, count);
}
private void deleteTempDirs() {
try {
- if (fs.exists(new Path(INPUT)))
- fs.delete(new Path(INPUT), true);
if (fs.exists(new Path(OUTPUT)))
fs.delete(new Path(OUTPUT), true);
if (fs.exists(new Path("/tmp/partitions")))
@@ -221,7 +187,6 @@ public class SemiClusterMatchingTest ext
@Test
public void testSemiClustering() throws IOException, InterruptedException,
ClassNotFoundException {
- generateTestData();
try {
HamaConfiguration conf = new HamaConfiguration();
@@ -230,10 +195,10 @@ public class SemiClusterMatchingTest ext
conf.setInt(graphJobVertexMaxClusterCount, 1);
GraphJob semiClusterJob = new GraphJob(conf, SemiClusterJobDriver.class);
semiClusterJob.setMaxIteration(15);
-
+
semiClusterJob.setCompressionCodec(SnappyCompressor.class);
semiClusterJob.setCompressionThreshold(10);
-
+
semiClusterJob
.setVertexOutputWriterClass(SemiClusterVertexOutputWriter.class);
semiClusterJob.setJobName("SemiClusterJob");
Added: hama/trunk/examples/src/test/resources/semiclustering.txt
URL:
http://svn.apache.org/viewvc/hama/trunk/examples/src/test/resources/semiclustering.txt?rev=1574739&view=auto
==============================================================================
--- hama/trunk/examples/src/test/resources/semiclustering.txt (added)
+++ hama/trunk/examples/src/test/resources/semiclustering.txt Thu Mar 6
01:29:39 2014
@@ -0,0 +1,100 @@
+0 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+1 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+2 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+3 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+4 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+5 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+6 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+7 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+8 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+9 0-0.1,1-0.1,2-0.1,3-0.1,4-0.1,5-0.1,6-0.1,7-0.1,8-0.1,9-0.1
+10 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+11 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+12 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+13 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+14 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+15 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+16 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+17 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+18 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+19 17-0.1,16-0.1,19-0.1,18-0.1,10-0.1,11-0.1,12-0.1,13-0.1,14-0.1,15-0.1
+20 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+21 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+22 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+23 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+24 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+25 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+26 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+27 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+28 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+29 21-0.1,20-0.1,23-0.1,22-0.1,25-0.1,24-0.1,27-0.1,26-0.1,29-0.1,28-0.1
+30 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+31 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+32 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+33 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+34 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+35 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+36 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+37 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+38 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+39 34-0.1,35-0.1,32-0.1,33-0.1,38-0.1,39-0.1,36-0.1,37-0.1,31-0.1,30-0.1
+40 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+41 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+42 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+43 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+44 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+45 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+46 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+47 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+48 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+49 49-0.1,48-0.1,42-0.1,43-0.1,40-0.1,41-0.1,46-0.1,47-0.1,44-0.1,45-0.1
+50 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+51 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+52 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+53 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+54 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+55 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+56 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+57 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+58 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+59 51-0.1,50-0.1,55-0.1,54-0.1,53-0.1,52-0.1,59-0.1,58-0.1,57-0.1,56-0.1
+60 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+61 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+62 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+63 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+64 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+65 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+66 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+67 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+68 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+69 68-0.1,69-0.1,64-0.1,65-0.1,66-0.1,67-0.1,63-0.1,62-0.1,61-0.1,60-0.1
+70 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+71 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+72 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+73 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+74 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+75 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+76 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+77 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+78 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+79 70-0.1,71-0.1,76-0.1,77-0.1,78-0.1,79-0.1,72-0.1,73-0.1,74-0.1,75-0.1
+80 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+81 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+82 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+83 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+84 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+85 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+86 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+87 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+88 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+89 85-0.1,84-0.1,87-0.1,86-0.1,81-0.1,80-0.1,83-0.1,82-0.1,89-0.1,88-0.1
+90 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+91 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+92 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+93 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+94 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+95 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+96 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+97 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+98 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
+99 98-0.1,99-0.1,96-0.1,97-0.1,93-0.1,92-0.1,95-0.1,94-0.1,91-0.1,90-0.1
\ No newline at end of file
Modified:
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterDetails.java
URL:
http://svn.apache.org/viewvc/hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterDetails.java?rev=1574739&r1=1574738&r2=1574739&view=diff
==============================================================================
---
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterDetails.java
(original)
+++
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterDetails.java
Thu Mar 6 01:29:39 2014
@@ -113,5 +113,7 @@ public class SemiClusterDetails implemen
@Override
public int compareTo(SemiClusterDetails sc) {
return (this.getSemiClusterId().compareTo(sc.getSemiClusterId()));
+ //return (this.getSemiClusterScore() == sc.getSemiClusterScore() ? 0
+ // : this.getSemiClusterScore() < sc.getSemiClusterScore() ? -1 : 1);
}
}
Modified:
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterMessage.java
URL:
http://svn.apache.org/viewvc/hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterMessage.java?rev=1574739&r1=1574738&r2=1574739&view=diff
==============================================================================
---
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterMessage.java
(original)
+++
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusterMessage.java
Thu Mar 6 01:29:39 2014
@@ -153,8 +153,7 @@ public class SemiClusterMessage implemen
return semiClusterContainThis;
}
- public void setSemiClusterContainThis(
- List<SemiClusterDetails> semiClusterContainThis,
+ public void sortByScore(Set<SemiClusterDetails> semiClusterContainThis,
int graphJobVertexMaxClusterCount) {
int clusterCountToBeRemoved = 0;
NavigableSet<SemiClusterDetails> setSort = new TreeSet<SemiClusterDetails>(
@@ -176,7 +175,6 @@ public class SemiClusterMessage implemen
clusterCountToBeRemoved--;
}
this.semiClusterContainThis = setSort;
-
}
public int compareTo(SemiClusterMessage m) {
Modified:
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusteringVertex.java
URL:
http://svn.apache.org/viewvc/hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusteringVertex.java?rev=1574739&r1=1574738&r2=1574739&view=diff
==============================================================================
---
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusteringVertex.java
(original)
+++
hama/trunk/ml/src/main/java/org/apache/hama/ml/semiclustering/SemiClusteringVertex.java
Thu Mar 6 01:29:39 2014
@@ -47,8 +47,10 @@ public class SemiClusteringVertex extend
@Override
public void setup(HamaConfiguration conf) {
- semiClusterMaximumVertexCount =
conf.getInt("semicluster.max.vertex.count", 10);
- graphJobMessageSentCount =
conf.getInt("semicluster.max.message.sent.count", 10);
+ semiClusterMaximumVertexCount = conf.getInt("semicluster.max.vertex.count",
+ 10);
+ graphJobMessageSentCount = conf.getInt(
+ "semicluster.max.message.sent.count", 10);
graphJobVertexMaxClusterCount = conf.getInt("vertex.max.cluster.count",
10);
}
@@ -80,7 +82,8 @@ public class SemiClusteringVertex extend
}
}
- Iterator<SemiClusterMessage> bestCandidates =
candidates.descendingIterator();
+ Iterator<SemiClusterMessage> bestCandidates = candidates
+ .descendingIterator();
int count = 0;
while (bestCandidates.hasNext() && count < graphJobMessageSentCount) {
@@ -96,10 +99,12 @@ public class SemiClusteringVertex extend
if (clusters.size() > graphJobVertexMaxClusterCount) {
break;
} else {
- clusters.add(new SemiClusterDetails(msg.getSemiClusterId(),
msg.getScore()));
+ clusters.add(new SemiClusterDetails(msg.getSemiClusterId(), msg
+ .getScore()));
}
}
+ value.sortByScore(clusters, graphJobVertexMaxClusterCount);
this.setValue(value);
}
}