import java.io.IOException;
import java.util.TreeSet;
import java.math.*;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
public class NellVertexReducer extends Reducer < LongWritable, Text,LongWritable,Text> {
@Override
protected void reduce(LongWritable key, Iterable<Text> values , Context context)
throws IOException, InterruptedException {
// TODO Auto-generated method stub
TreeSet<String> tree = new TreeSet<String>();
for(Text v : values){
tree.add(v.toString());
}
long i=0;
long mykey=key.get();
mykey=Math.abs(mykey);
long finalkey;
if(mykey<0){
System.out.println("TESTMYKEY");
}
for(String k: tree){
long keypart=mykey;
if(keypart<0){
System.out.println("TESTNEGATIVEKEYPART");
}
long ipart=i%(1<<20);
if(ipart<0){
System.out.println("TESTNEGATIVEIPART");
}
long timepart=(long) ((System.currentTimeMillis())% (1<<20));
if(timepart<0){
System.out.println("TESTNEGATIVETIMEPART");
}
finalkey= (ipart+keypart*(1<<20));
if(mykey<0){
System.out.println("TESTNEGATIVEMYKEY");
}
String v="node ["+'\n'+"id "+finalkey+"\n"+"label \""+k+"\"\n"+"]";
String v1=k+":"+finalkey;
context.write(null, new Text(v));
i++;
}
}
}