public abstract class ImmutableExecutableStage extends java.lang.Object implements ExecutableStage
ExecutableStage
which is constructed with all of its initial state.DEFAULT_WIRE_CODER_SETTINGS, URN
Constructor and Description |
---|
ImmutableExecutableStage() |
Modifier and Type | Method and Description |
---|---|
abstract org.apache.beam.model.pipeline.v1.RunnerApi.Components |
getComponents()
Return the
RunnerApi.Components required to execute this ExecutableStage . |
abstract org.apache.beam.model.pipeline.v1.RunnerApi.Environment |
getEnvironment()
Returns the
RunnerApi.Environment this stage executes in. |
abstract PipelineNode.PCollectionNode |
getInputPCollection()
Returns the root
PipelineNode.PCollectionNode of this ExecutableStage . |
abstract java.util.Collection<PipelineNode.PCollectionNode> |
getOutputPCollections()
Returns the leaf
PCollections of this ExecutableStage . |
abstract java.util.Collection<SideInputReference> |
getSideInputs()
Returns a set of descriptors that will be accessed by this
ExecutableStage as side
inputs. |
abstract java.util.Collection<TimerReference> |
getTimers()
Returns the set of descriptors that will consume and produce timers by this
ExecutableStage . |
abstract java.util.Collection<PipelineNode.PTransformNode> |
getTransforms()
Get the transforms that perform processing within this
ExecutableStage . |
abstract java.util.Collection<UserStateReference> |
getUserStates()
Returns the set of descriptors that will consume and produce user state by this
ExecutableStage . |
abstract java.util.Collection<org.apache.beam.model.pipeline.v1.RunnerApi.ExecutableStagePayload.WireCoderSetting> |
getWireCoderSettings()
Returns a set of
RunnerApi.ExecutableStagePayload.WireCoderSetting s this stage executes in. |
static ImmutableExecutableStage |
of(org.apache.beam.model.pipeline.v1.RunnerApi.Components components,
org.apache.beam.model.pipeline.v1.RunnerApi.Environment environment,
PipelineNode.PCollectionNode input,
java.util.Collection<SideInputReference> sideInputs,
java.util.Collection<UserStateReference> userStates,
java.util.Collection<TimerReference> timers,
java.util.Collection<PipelineNode.PTransformNode> transforms,
java.util.Collection<PipelineNode.PCollectionNode> outputs,
java.util.Collection<org.apache.beam.model.pipeline.v1.RunnerApi.ExecutableStagePayload.WireCoderSetting> wireCoderSettings) |
static ImmutableExecutableStage |
ofFullComponents(org.apache.beam.model.pipeline.v1.RunnerApi.Components components,
org.apache.beam.model.pipeline.v1.RunnerApi.Environment environment,
PipelineNode.PCollectionNode input,
java.util.Collection<SideInputReference> sideInputs,
java.util.Collection<UserStateReference> userStates,
java.util.Collection<TimerReference> timers,
java.util.Collection<PipelineNode.PTransformNode> transforms,
java.util.Collection<PipelineNode.PCollectionNode> outputs,
java.util.Collection<org.apache.beam.model.pipeline.v1.RunnerApi.ExecutableStagePayload.WireCoderSetting> wireCoderSettings) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
fromPayload, toPTransform
public static ImmutableExecutableStage ofFullComponents(org.apache.beam.model.pipeline.v1.RunnerApi.Components components, org.apache.beam.model.pipeline.v1.RunnerApi.Environment environment, PipelineNode.PCollectionNode input, java.util.Collection<SideInputReference> sideInputs, java.util.Collection<UserStateReference> userStates, java.util.Collection<TimerReference> timers, java.util.Collection<PipelineNode.PTransformNode> transforms, java.util.Collection<PipelineNode.PCollectionNode> outputs, java.util.Collection<org.apache.beam.model.pipeline.v1.RunnerApi.ExecutableStagePayload.WireCoderSetting> wireCoderSettings)
public static ImmutableExecutableStage of(org.apache.beam.model.pipeline.v1.RunnerApi.Components components, org.apache.beam.model.pipeline.v1.RunnerApi.Environment environment, PipelineNode.PCollectionNode input, java.util.Collection<SideInputReference> sideInputs, java.util.Collection<UserStateReference> userStates, java.util.Collection<TimerReference> timers, java.util.Collection<PipelineNode.PTransformNode> transforms, java.util.Collection<PipelineNode.PCollectionNode> outputs, java.util.Collection<org.apache.beam.model.pipeline.v1.RunnerApi.ExecutableStagePayload.WireCoderSetting> wireCoderSettings)
public abstract org.apache.beam.model.pipeline.v1.RunnerApi.Components getComponents()
ExecutableStage
RunnerApi.Components
required to execute this ExecutableStage
.
This must contain all of the transforms returned by ExecutableStage.getTransforms()
and the closure
of all components that those transforms
reference.
getComponents
in interface ExecutableStage
public abstract org.apache.beam.model.pipeline.v1.RunnerApi.Environment getEnvironment()
ExecutableStage
RunnerApi.Environment
this stage executes in.
An ExecutableStage
consists of PTransforms
which can all be
executed within a single RunnerApi.Environment
. The assumption made here is that
runner-implemented transforms will be associated with these subgraphs by the overall graph
topology, which will be handled by runners by performing already-required element routing and
runner-side processing.
getEnvironment
in interface ExecutableStage
public abstract PipelineNode.PCollectionNode getInputPCollection()
ExecutableStage
PipelineNode.PCollectionNode
of this ExecutableStage
. This
ExecutableStage
executes by reading elements from a Remote gRPC Read Node.
TODO(BEAM-4658): Add timers as input PCollections to executable stages.
getInputPCollection
in interface ExecutableStage
public abstract java.util.Collection<SideInputReference> getSideInputs()
ExecutableStage
ExecutableStage
as side
inputs.getSideInputs
in interface ExecutableStage
public abstract java.util.Collection<UserStateReference> getUserStates()
ExecutableStage
ExecutableStage
.getUserStates
in interface ExecutableStage
public abstract java.util.Collection<TimerReference> getTimers()
ExecutableStage
ExecutableStage
.getTimers
in interface ExecutableStage
public abstract java.util.Collection<PipelineNode.PTransformNode> getTransforms()
ExecutableStage
ExecutableStage
.getTransforms
in interface ExecutableStage
public abstract java.util.Collection<PipelineNode.PCollectionNode> getOutputPCollections()
ExecutableStage
PCollections
of this ExecutableStage
.
All of these PCollections
are consumed by a PTransform
which is not contained within this executable stage,
and must be materialized at execution time by a Remote gRPC Write Transform.
TODO(BEAM-4658): Add timers as output PCollections to executable stages.
getOutputPCollections
in interface ExecutableStage
public abstract java.util.Collection<org.apache.beam.model.pipeline.v1.RunnerApi.ExecutableStagePayload.WireCoderSetting> getWireCoderSettings()
ExecutableStage
RunnerApi.ExecutableStagePayload.WireCoderSetting
s this stage executes in.
A RunnerApi.ExecutableStagePayload.WireCoderSetting
consists of settings which is used to configure the type of the
wire coder for a dedicated PCollection.
getWireCoderSettings
in interface ExecutableStage