Class ParDo.SingleOutput<InputT,OutputT>
- java.lang.Object
-
- org.apache.beam.sdk.transforms.PTransform<PCollection<? extends InputT>,PCollection<OutputT>>
-
- org.apache.beam.sdk.transforms.ParDo.SingleOutput<InputT,OutputT>
-
- Type Parameters:
InputT
- the type of the (main) inputPCollection
elementsOutputT
- the type of the (main) outputPCollection
elements
- All Implemented Interfaces:
java.io.Serializable
,HasDisplayData
- Enclosing class:
- ParDo
public static class ParDo.SingleOutput<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(org.apache.beam.sdk.values.TupleTag<OutputT>, org.apache.beam.sdk.values.TupleTagList)
.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.beam.sdk.transforms.PTransform
name, resourceHints
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PCollection<OutputT>
expand(PCollection<? extends InputT> input)
Override this method to specify how thisPTransform
should be expanded on the givenInputT
.java.util.Map<TupleTag<?>,PValue>
getAdditionalInputs()
Returns the side inputs of thisParDo
, tagged with the tag of thePCollectionView
.DoFn<InputT,OutputT>
getFn()
protected java.lang.String
getKindString()
Returns the name to use by default for thisPTransform
(not including the names of any enclosingPTransform
s).java.util.Map<java.lang.String,PCollectionView<?>>
getSideInputs()
void
populateDisplayData(DisplayData.Builder builder)
Register display data for the given transform or component.java.lang.String
toString()
ParDo.MultiOutput<InputT,OutputT>
withOutputTags(TupleTag<OutputT> mainOutputTag, TupleTagList additionalOutputTags)
Returns a new multi-outputParDo
PTransform
that's like thisPTransform
but with the specified output tags.ParDo.SingleOutput<InputT,OutputT>
withSideInput(java.lang.String tagId, PCollectionView<?> pCollectionView)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs.ParDo.SingleOutput<InputT,OutputT>
withSideInputs(java.lang.Iterable<? extends PCollectionView<?>> sideInputs)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs.ParDo.SingleOutput<InputT,OutputT>
withSideInputs(java.util.Map<java.lang.String,PCollectionView<?>> sideInputs)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs.ParDo.SingleOutput<InputT,OutputT>
withSideInputs(PCollectionView<?>... sideInputs)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs.-
Methods inherited from class org.apache.beam.sdk.transforms.PTransform
compose, compose, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getName, getResourceHints, setResourceHints, validate, validate
-
-
-
-
Method Detail
-
withSideInputs
public ParDo.SingleOutput<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 for more explanation.
-
withSideInputs
public ParDo.SingleOutput<InputT,OutputT> withSideInputs(java.lang.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 for more explanation.
-
withSideInputs
public ParDo.SingleOutput<InputT,OutputT> withSideInputs(java.util.Map<java.lang.String,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 for more explanation.
-
withSideInput
public ParDo.SingleOutput<InputT,OutputT> withSideInput(java.lang.String tagId, PCollectionView<?> pCollectionView)
Returns a newParDo
PTransform
that's like thisPTransform
but with the specified additional side inputs. Does not modify thisPTransform
.
-
withOutputTags
public ParDo.MultiOutput<InputT,OutputT> withOutputTags(TupleTag<OutputT> mainOutputTag, TupleTagList additionalOutputTags)
Returns a new multi-outputParDo
PTransform
that's like thisPTransform
but with the specified output tags. Does not modify thisPTransform
.See the discussion of Additional Outputs above for more explanation.
-
expand
public PCollection<OutputT> expand(PCollection<? extends InputT> input)
Description copied from class:PTransform
Override this method to specify how thisPTransform
should be expanded on the givenInputT
.NOTE: This method should not be called directly. Instead apply the
PTransform
should be applied to theInputT
using theapply
method.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).
- Specified by:
expand
in classPTransform<PCollection<? extends InputT>,PCollection<OutputT>>
-
getKindString
protected java.lang.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(org.apache.beam.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 java.util.Map<java.lang.String,PCollectionView<?>> getSideInputs()
-
getAdditionalInputs
public java.util.Map<TupleTag<?>,PValue> getAdditionalInputs()
Returns the side inputs of thisParDo
, tagged with the tag of thePCollectionView
. The values of the returned map will be equal to the result ofgetSideInputs()
.- Overrides:
getAdditionalInputs
in classPTransform<PCollection<? extends InputT>,PCollection<OutputT>>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classPTransform<PCollection<? extends InputT>,PCollection<OutputT>>
-
-