/** * Static method exposing constructor. * @param value tag id of additional input. * @return the newly created execution property. */ public static AdditionalOutputTagProperty of(final String value) { return new AdditionalOutputTagProperty(value); } }
/** * Add IR edge to the builder. * * @param dst the destination IR vertex. * @param input the {@link PValue} {@code dst} consumes */ void addEdgeTo(final IRVertex dst, final PValue input) { if (input instanceof PCollection) { final Coder elementCoder = ((PCollection) input).getCoder(); final Coder windowCoder = ((PCollection) input).getWindowingStrategy().getWindowFn().windowCoder(); final IRVertex src = pValueToProducerVertex.get(input); if (src == null) { throw new IllegalStateException(String.format("Cannot find a vertex that emits pValue %s", input)); } final CommunicationPatternProperty.Value communicationPattern = getCommPattern(src, dst); final IREdge edge = new IREdge(communicationPattern, src, dst); if (pValueToTag.containsKey(input)) { edge.setProperty(AdditionalOutputTagProperty.of(pValueToTag.get(input).getId())); } addEdge(edge, elementCoder, windowCoder); } else { throw new IllegalStateException(input.toString()); } }
newEdge.setProperty(DataFlowProperty.of(DataFlowProperty.Value.Push)); newEdge.setProperty(KeyExtractorProperty.of(new PairKeyExtractor())); newEdge.setProperty(AdditionalOutputTagProperty.of(ADDITIONAL_OUTPUT_TAG));
newEdge.setProperty(DataFlowProperty.of(DataFlowProperty.Value.Pull)); newEdge.setProperty(KeyExtractorProperty.of(new PairKeyExtractor())); newEdge.setProperty(AdditionalOutputTagProperty.of(ADDITIONAL_OUTPUT_TAG));
/** * Static method exposing constructor. * @param value tag id of additional input. * @return the newly created execution property. */ public static AdditionalOutputTagProperty of(final String value) { return new AdditionalOutputTagProperty(value); } }