package storm.cookbook.tfidf.functions;
import java.util.Map;
import backtype.storm.tuple.Values;
import storm.trident.operation.MultiReducer;
import storm.trident.operation.TridentCollector;
import storm.trident.operation.TridentMultiReducerContext;
import storm.trident.tuple.TridentTuple;
public class OuterJoinReducer implements MultiReducer<OuterJoinState> {
private static final long serialVersionUID = 1L;
public void prepare(Map conf, TridentMultiReducerContext context) {
}
public OuterJoinState init(TridentCollector collector) {
return new OuterJoinState();
}
public void cleanup() {
// TODO Auto-generated method stub
}
public void execute(OuterJoinState state, int streamIndex, TridentTuple input, TridentCollector collector) {
state.addValues(streamIndex, input);
}
public void complete(OuterJoinState state, TridentCollector collector) {
for (Values vals : state.join()) {
collector.emit(vals);
}
}
}