String collectionId = components .getTransformsOrThrow(sideInput.getKey().getTransformId()) .getInputsOrThrow(sideInput.getKey().getLocalName()); DataStream<Object> sideInputStream = context.getDataStreamOrThrow(collectionId); String collectionId = components .getTransformsOrThrow(sideInput.getKey().getTransformId()) .getInputsOrThrow(sideInput.getKey().getLocalName()); DataStream<WindowedValue<?>> sideInputStream = context.getDataStreamOrThrow(collectionId); sideInput.getKey().getTransformId() + "-" + sideInput.getKey().getLocalName(); WindowedValueCoder<KV<Void, Object>> kvCoder = kvCoders.get(intTag); DataStream<WindowedValue<KV<Void, Object>>> keyedSideInputStream =
String collectionId = components .getTransformsOrThrow(sideInput.getKey().getTransformId()) .getInputsOrThrow(sideInput.getKey().getLocalName()); DataStream<Object> sideInputStream = context.getDataStreamOrThrow(collectionId); final int intTag = tagToIntMapping.get(tag); RunnerApi.PTransform pTransform = components.getTransformsOrThrow(sideInput.getKey().getTransformId()); String collectionId = pTransform.getInputsOrThrow(sideInput.getKey().getLocalName()); DataStream<WindowedValue<?>> sideInputStream = context.getDataStreamOrThrow(collectionId); sideInput.getKey().getTransformId() + "-" + sideInput.getKey().getLocalName(); WindowedValueCoder<KV<Void, Object>> kvCoder = kvCoders.get(intTag); DataStream<WindowedValue<KV<Void, Object>>> keyedSideInputStream =
String collectionId = components .getTransformsOrThrow(sideInputId.getTransformId()) .getInputsOrThrow(sideInputId.getLocalName());
String collectionId = components .getTransformsOrThrow(sideInputId.getTransformId()) .getInputsOrThrow(sideInputId.getLocalName());
String collectionId = components .getTransformsOrThrow(sideInputId.getTransformId()) .getInputsOrThrow(sideInputId.getLocalName()); RunnerApi.WindowingStrategy windowingStrategyProto =
String collectionId = components .getTransformsOrThrow(sideInputId.getTransformId()) .getInputsOrThrow(sideInputId.getLocalName()); RunnerApi.WindowingStrategy windowingStrategyProto =
/** * Creates a new state handler for the given stage. Note that this requires a traversal of the * stage itself, so this should only be called once per stage rather than once per bundle. */ public static FlinkStreamingSideInputHandlerFactory forStage( ExecutableStage stage, Map<SideInputId, PCollectionView<?>> viewMapping, org.apache.beam.runners.core.SideInputHandler runnerHandler) { ImmutableMap.Builder<SideInputId, PCollectionView<?>> sideInputBuilder = ImmutableMap.builder(); for (SideInputReference sideInput : stage.getSideInputs()) { SideInputId sideInputId = SideInputId.newBuilder() .setTransformId(sideInput.transform().getId()) .setLocalName(sideInput.localName()) .build(); sideInputBuilder.put( sideInputId, checkNotNull( viewMapping.get(sideInputId), "No side input for %s/%s", sideInputId.getTransformId(), sideInputId.getLocalName())); } FlinkStreamingSideInputHandlerFactory factory = new FlinkStreamingSideInputHandlerFactory(sideInputBuilder.build(), runnerHandler); return factory; }
/** * Creates a new state handler for the given stage. Note that this requires a traversal of the * stage itself, so this should only be called once per stage rather than once per bundle. */ public static FlinkStreamingSideInputHandlerFactory forStage( ExecutableStage stage, Map<SideInputId, PCollectionView<?>> viewMapping, org.apache.beam.runners.core.SideInputHandler runnerHandler) { ImmutableMap.Builder<SideInputId, PCollectionView<?>> sideInputBuilder = ImmutableMap.builder(); for (SideInputReference sideInput : stage.getSideInputs()) { SideInputId sideInputId = SideInputId.newBuilder() .setTransformId(sideInput.transform().getId()) .setLocalName(sideInput.localName()) .build(); sideInputBuilder.put( sideInputId, checkNotNull( viewMapping.get(sideInputId), "No side input for %s/%s", sideInputId.getTransformId(), sideInputId.getLocalName())); } FlinkStreamingSideInputHandlerFactory factory = new FlinkStreamingSideInputHandlerFactory(sideInputBuilder.build(), runnerHandler); return factory; }
/** Create a side input reference from a SideInputId proto and components. */ public static SideInputReference fromSideInputId( SideInputId sideInputId, RunnerApi.Components components) { String transformId = sideInputId.getTransformId(); String localName = sideInputId.getLocalName(); String collectionId = components.getTransformsOrThrow(transformId).getInputsOrThrow(localName); PTransform transform = components.getTransformsOrThrow(transformId); PCollection collection = components.getPcollectionsOrThrow(collectionId); return SideInputReference.of( PipelineNode.pTransform(transformId, transform), localName, PipelineNode.pCollection(collectionId, collection)); }