@Override
public Void call() throws Exception {
LOG.info("Initializing Output using OutputSpec: " + outputSpec);
String edgeName = outputSpec.getDestinationVertexName();
LogicalOutput output = createOutput(outputSpec);
TezOutputContext outputContext = createOutputContext(outputSpec);
outputsMap.put(edgeName, output);
outputContextMap.put(edgeName, outputContext);
if (output instanceof LogicalOutput) {
((LogicalOutput) output).setNumPhysicalOutputs(outputSpec
.getPhysicalEdgeCount());
}
LOG.info("Initializing Input with dest edge: " + edgeName);
List<Event> events = output.initialize(outputContext);
sendTaskGeneratedEvents(events, EventProducerConsumerType.OUTPUT,
outputContext.getTaskVertexName(),
outputContext.getDestinationVertexName(), taskSpec.getTaskAttemptID());
LOG.info("Initialized Output with dest edge: " + edgeName);
return null;