Google Cloud Dataflow SDK for Java, version 1.9.1
Class ParDo.Bound<InputT,OutputT>
- java.lang.Object
-
- com.google.cloud.dataflow.sdk.transforms.PTransform<PCollection<? extends InputT>,PCollection<OutputT>>
-
- com.google.cloud.dataflow.sdk.transforms.ParDo.Bound<InputT,OutputT>
-
- Type Parameters:
InputT
- the type of the (main) inputPCollection
elementsOutputT
- the type of the (main) outputPCollection
elements
- All Implemented Interfaces:
- HasDisplayData, Serializable
- Enclosing class:
- ParDo
public static class ParDo.Bound<InputT,OutputT> extends PTransform<PCollection<? extends InputT>,PCollection<OutputT>>
APTransform
that, when applied to aPCollection<InputT>
, invokes a user-specifiedDoFn<InputT, OutputT>
on all its elements, with all its outputs collected into an outputPCollection<OutputT>
.A multi-output form of this transform can be created with
withOutputTags(com.google.cloud.dataflow.sdk.values.TupleTag<OutputT>, com.google.cloud.dataflow.sdk.values.TupleTagList)
.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.google.cloud.dataflow.sdk.transforms.PTransform
name
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description PCollection<OutputT>
apply(PCollection<? extends InputT> input)
Applies thisPTransform
on the givenInputT
, and returns itsOutput
.protected Coder<OutputT>
getDefaultOutputCoder(PCollection<? extends InputT> input)
Returns the defaultCoder
to use for the output of this single-outputPTransform
when applied to the given input.DoFn<InputT,OutputT>
getFn()
protected String
getKindString()
Returns the name to use by default for thisPTransform
(not including the names of any enclosingPTransform
s).List<PCollectionView<?>>
getSideInputs()
ParDo.Bound<InputT,OutputT>
named(String name)
void
populateDisplayData(DisplayData.Builder builder)
Register display data for the given transform or component.ParDo.BoundMulti<InputT,OutputT>
withOutputTags(TupleTag<OutputT> mainOutputTag, TupleTagList sideOutputTags)
Returns a new multi-outputParDo
PTransform
that's like thisPTransform
but with the specified main and side output tags.ParDo.Bound<InputT,OutputT>
withSideInputs(Iterable<? extends PCollectionView<?>> sideInputs)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs.ParDo.Bound<InputT,OutputT>
withSideInputs(PCollectionView<?>... sideInputs)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs.-
Methods inherited from class com.google.cloud.dataflow.sdk.transforms.PTransform
getDefaultOutputCoder, getDefaultOutputCoder, getName, toString, validate
-
-
-
-
Method Detail
-
named
public ParDo.Bound<InputT,OutputT> named(String name)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified name. Does not modify thisPTransform
.See the discussion of Naming above for more explanation.
-
withSideInputs
public ParDo.Bound<InputT,OutputT> withSideInputs(PCollectionView<?>... sideInputs)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs. Does not modify thisPTransform
.See the discussion of Side Inputs above and on
ParDo.withSideInputs(com.google.cloud.dataflow.sdk.values.PCollectionView<?>...)
for more explanation.
-
withSideInputs
public ParDo.Bound<InputT,OutputT> withSideInputs(Iterable<? extends PCollectionView<?>> sideInputs)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs. Does not modify thisPTransform
.See the discussion of Side Inputs above and on
ParDo.withSideInputs(com.google.cloud.dataflow.sdk.values.PCollectionView<?>...)
for more explanation.
-
withOutputTags
public ParDo.BoundMulti<InputT,OutputT> withOutputTags(TupleTag<OutputT> mainOutputTag, TupleTagList sideOutputTags)
Returns a new multi-outputParDo
PTransform
that's like thisPTransform
but with the specified main and side output tags. Does not modify thisPTransform
.See the discussion of Side Outputs above and on
ParDo.withOutputTags(com.google.cloud.dataflow.sdk.values.TupleTag<OutputT>, com.google.cloud.dataflow.sdk.values.TupleTagList)
for more explanation.
-
apply
public PCollection<OutputT> apply(PCollection<? extends InputT> input)
Description copied from class:PTransform
Applies thisPTransform
on the givenInputT
, and returns itsOutput
.Composite transforms, which are defined in terms of other transforms, should return the output of one of the composed transforms. Non-composite transforms, which do not apply any transforms internally, should return a new unbound output and register evaluators (via backend-specific registration methods).
The default implementation throws an exception. A derived class must either implement apply, or else each runner must supply a custom implementation via
PipelineRunner.apply(com.google.cloud.dataflow.sdk.transforms.PTransform<InputT, OutputT>, InputT)
.- Overrides:
apply
in classPTransform<PCollection<? extends InputT>,PCollection<OutputT>>
-
getDefaultOutputCoder
protected Coder<OutputT> getDefaultOutputCoder(PCollection<? extends InputT> input) throws CannotProvideCoderException
Description copied from class:PTransform
Returns the defaultCoder
to use for the output of this single-outputPTransform
when applied to the given input.By default, always throws.
- Overrides:
getDefaultOutputCoder
in classPTransform<PCollection<? extends InputT>,PCollection<OutputT>>
- Throws:
CannotProvideCoderException
- if none can be inferred.
-
getKindString
protected String getKindString()
Description copied from class:PTransform
Returns the name to use by default for thisPTransform
(not including the names of any enclosingPTransform
s).By default, returns the base name of this
PTransform
's class.The caller is responsible for ensuring that names of applied
PTransform
s are unique, e.g., by adding a uniquifying suffix when needed.- Overrides:
getKindString
in classPTransform<PCollection<? extends InputT>,PCollection<OutputT>>
-
populateDisplayData
public void populateDisplayData(DisplayData.Builder builder)
Register display data for the given transform or component.populateDisplayData(DisplayData.Builder)
is invoked by Pipeline runners to collect display data viaDisplayData.from(HasDisplayData)
. Implementations may callsuper.populateDisplayData(builder)
in order to register display data in the current namespace, but should otherwise usesubcomponent.populateDisplayData(builder)
to use the namespace of the subcomponent.By default, does not register any display data. Implementors may override this method to provide their own display data.
ParDo
registers its internalDoFn
as a subcomponent for display data.DoFn
implementations can register display data by overridingDoFn.populateDisplayData(com.google.cloud.dataflow.sdk.transforms.display.DisplayData.Builder)
.- Specified by:
populateDisplayData
in interfaceHasDisplayData
- Overrides:
populateDisplayData
in classPTransform<PCollection<? extends InputT>,PCollection<OutputT>>
- Parameters:
builder
- The builder to populate with display data.- See Also:
HasDisplayData
-
getSideInputs
public List<PCollectionView<?>> getSideInputs()
-
-