InputT - type of input valuesAccumT - type of mutable accumulator valuesOutputT - type of output values@Internal public static interface CombineFnBase.GlobalCombineFn<InputT,AccumT,OutputT> extends java.io.Serializable, HasDisplayData
A GloballyCombineFn<InputT, AccumT, OutputT> specifies how to combine a collection
of input values of type InputT into a single output value of type OutputT. It
does this via one or more intermediate mutable accumulator values of type AccumT.
Do not implement this interface directly. Extends Combine.CombineFn and CombineWithContext.CombineFnWithContext instead.
| Modifier and Type | Method and Description |
|---|---|
OutputT |
defaultValue()
Returns the default value when there are no values added to the accumulator.
|
Coder<AccumT> |
getAccumulatorCoder(CoderRegistry registry,
Coder<InputT> inputCoder)
Returns the
Coder to use for accumulator AccumT values, or null if it is not
able to be inferred. |
Coder<OutputT> |
getDefaultOutputCoder(CoderRegistry registry,
Coder<InputT> inputCoder)
Returns the
Coder to use by default for output OutputT values, or null if it
is not able to be inferred. |
java.lang.String |
getIncompatibleGlobalWindowErrorMessage()
Returns the error message for not supported default values in Combine.globally().
|
populateDisplayDataCoder<AccumT> getAccumulatorCoder(CoderRegistry registry, Coder<InputT> inputCoder) throws CannotProvideCoderException
Coder to use for accumulator AccumT values, or null if it is not
able to be inferred.
By default, uses the knowledge of the Coder being used for InputT values
and the enclosing Pipeline's CoderRegistry to try to infer the Coder for
AccumT values.
This is the Coder used to send data through a communication-intensive shuffle step, so a compact and efficient representation may have significant performance benefits.
CannotProvideCoderExceptionCoder<OutputT> getDefaultOutputCoder(CoderRegistry registry, Coder<InputT> inputCoder) throws CannotProvideCoderException
Coder to use by default for output OutputT values, or null if it
is not able to be inferred.
By default, uses the knowledge of the Coder being used for input InputT
values and the enclosing Pipeline's CoderRegistry to try to infer the Coder
for OutputT values.
CannotProvideCoderExceptionjava.lang.String getIncompatibleGlobalWindowErrorMessage()
OutputT defaultValue()