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()