Class Combine.GloballyAsSingletonView<InputT,OutputT>
- Type Parameters:
InputT
- type of input valuesOutputT
- type of output values
- All Implemented Interfaces:
Serializable
,HasDisplayData
- Enclosing class:
Combine
Combine.GloballyAsSingletonView<InputT, OutputT>
takes a PCollection<InputT>
and returns a PCollectionView<OutputT>
whose elements are the result of combining all
the elements in each window of the input PCollection
, using a specified CombineFn<InputT, AccumT, OutputT>
. It is common for InputT ==
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 the CombineFn
on empty input will
returned. If insertDefault
is false, an exception will be thrown instead.
By default, the Coder
of the output PValue<OutputT>
is inferred from the
concrete type of the CombineFn<InputT, AccumT, OutputT>
's output type OutputT
.
See also Combine.perKey(org.apache.beam.sdk.transforms.SerializableFunction<java.lang.Iterable<V>, V>)
/Combine.PerKey
and Combine.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 a PCollection
of KV
s.
- See Also:
-
Field Summary
Fields inherited from class org.apache.beam.sdk.transforms.PTransform
annotations, displayData, name, resourceHints
-
Method Summary
Modifier and TypeMethodDescriptionexpand
(PCollection<InputT> input) Override this method to specify how thisPTransform
should be expanded on the givenInputT
.CombineFnBase.GlobalCombineFn
<? super InputT, ?, OutputT> int
boolean
void
populateDisplayData
(DisplayData.Builder builder) Register display data for the given transform or component.Methods inherited from class org.apache.beam.sdk.transforms.PTransform
addAnnotation, compose, compose, getAdditionalInputs, getAnnotations, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, setDisplayData, setResourceHints, toString, validate, validate
-
Method Details
-
expand
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
-
populateDisplayData
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:
-