public static IOSpecProto convertOutputSpecToProto(OutputSpec outputSpec) { IOSpecProto.Builder builder = IOSpecProto.newBuilder(); if (outputSpec.getDestinationVertexName() != null) { builder.setConnectedVertexName(outputSpec.getDestinationVertexName()); } if (outputSpec.getOutputDescriptor() != null) { builder.setIoDescriptor(convertToProto(outputSpec.getOutputDescriptor())); } builder.setPhysicalEdgeCount(outputSpec.getPhysicalEdgeCount()); return builder.build(); }
private void verifyOutputSpecAndProto(OutputSpec outputSpec, IOSpecProto outputSpecProto) { assertEquals(outputSpec.getPhysicalEdgeCount(), outputSpecProto.getPhysicalEdgeCount()); assertEquals(outputSpec.getDestinationVertexName(), outputSpecProto.getConnectedVertexName()); assertEquals(outputSpec.getOutputDescriptor().getClassName(), outputSpecProto.getIoDescriptor().getClassName()); assertEquals(outputSpec.getOutputDescriptor().getUserPayload().getPayload(), outputSpecProto.getIoDescriptor().getUserPayload().getUserPayload().asReadOnlyByteBuffer()); } }
private LogicalOutput createOutput(OutputSpec outputSpec, OutputContext outputContext) throws TezException { OutputDescriptor outputDesc = outputSpec.getOutputDescriptor(); Output output = ReflectionUtils.createClazzInstance(outputDesc.getClassName(), new Class[]{OutputContext.class, Integer.TYPE}, new Object[]{outputContext, outputSpec.getPhysicalEdgeCount()}); if (!(output instanceof LogicalOutput)) { throw new TezUncheckedException(output.getClass().getName() + " is not a sub-type of LogicalOutput." + " Only LogicalOutput sub-types supported by LogicalIOProcessor."); } return (LogicalOutput) output; }