Class Combine.GloballyAsSingletonView<InputT,OutputT>
- java.lang.Object
-
- org.apache.beam.sdk.transforms.PTransform<PCollection<InputT>,PCollectionView<OutputT>>
-
- org.apache.beam.sdk.transforms.Combine.GloballyAsSingletonView<InputT,OutputT>
-
- Type Parameters:
InputT
- type of input valuesOutputT
- type of output values
- All Implemented Interfaces:
java.io.Serializable
,HasDisplayData
- Enclosing class:
- Combine
public static class Combine.GloballyAsSingletonView<InputT,OutputT> extends PTransform<PCollection<InputT>,PCollectionView<OutputT>>
Combine.GloballyAsSingletonView<InputT, OutputT>
takes aPCollection<InputT>
and returns aPCollectionView<OutputT>
whose elements are the result of combining all the elements in each window of the inputPCollection
, using a specifiedCombineFn<InputT, AccumT, OutputT>
. It is common forInputT == OutputT
, but not required. Common combining functions include sums, mins, maxes, and averages of numbers, conjunctions and disjunctions of booleans, statistical aggregations, etc.Example of use:
PCollection<Integer> pc = ...; PCollection<Integer> sum = pc.apply( Combine.globally(new Sum.SumIntegerFn()));
Combining can happen in parallel, with different subsets of the input
PCollection
being combined separately, and their intermediate results combined further, in an arbitrary tree reduction pattern, until a single result value is produced.If a value is requested from the view for a window that is not present and
insertDefault
is true, the result of calling theCombineFn
on empty input will returned. IfinsertDefault
is false, an exception will be thrown instead.By default, the
Coder
of the outputPValue<OutputT>
is inferred from the concrete type of theCombineFn<InputT, AccumT, OutputT>
's output typeOutputT
.See also
Combine.perKey(org.apache.beam.sdk.transforms.SerializableFunction<java.lang.Iterable<V>, V>)
/Combine.PerKey
andCombine.groupedValues(org.apache.beam.sdk.transforms.SerializableFunction<java.lang.Iterable<V>, V>)
/Combine.GroupedValues
, which are useful for combining values associated with each key in aPCollection
ofKV
s.- 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 PCollectionView<OutputT>
expand(PCollection<InputT> input)
Override this method to specify how thisPTransform
should be expanded on the givenInputT
.CombineFnBase.GlobalCombineFn<? super InputT,?,OutputT>
getCombineFn()
int
getFanout()
boolean
getInsertDefault()
void
populateDisplayData(DisplayData.Builder builder)
Register display data for the given transform or component.-
Methods inherited from class org.apache.beam.sdk.transforms.PTransform
compose, compose, getAdditionalInputs, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, setResourceHints, toString, validate, validate
-
-
-
-
Method Detail
-
expand
public PCollectionView<OutputT> expand(PCollection<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<InputT>,PCollectionView<OutputT>>
-
getFanout
public int getFanout()
-
getInsertDefault
public boolean getInsertDefault()
-
getCombineFn
public CombineFnBase.GlobalCombineFn<? super InputT,?,OutputT> getCombineFn()
-
populateDisplayData
public void populateDisplayData(DisplayData.Builder builder)
Description copied from class:PTransform
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.
- Specified by:
populateDisplayData
in interfaceHasDisplayData
- Overrides:
populateDisplayData
in classPTransform<PCollection<InputT>,PCollectionView<OutputT>>
- Parameters:
builder
- The builder to populate with display data.- See Also:
HasDisplayData
-
-