package edu.isi.karma.mapreduce.driver;
import java.io.IOException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
public class N3Reducer extends Reducer<Text,Text,Text,Text>{
private Text reusableOutputValue = new Text("");
protected void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException
{
Iterator<Text> iterator = values.iterator();
Set<String> allTriples = new HashSet<>();
while(iterator.hasNext())
{
String value = iterator.next().toString();
String[] triples = value.split("(\r\n|\n)");
for(String triple : triples)
{
allTriples.add(triple);
}
}
StringBuilder sb = new StringBuilder();
for(String triple : allTriples)
{
sb.append(triple);
sb.append("\n");
}
reusableOutputValue.set(sb.toString());
context.write(key, reusableOutputValue);
}
}