K - type of keysInputT - type of input valuesAccumT - type of mutable accumulator valuesOutputT - type of output valuespublic static interface CombineFnBase.PerKeyCombineFn<K,InputT,AccumT,OutputT> extends Serializable, HasDisplayData
PerKeyCombineFn<K, InputT, AccumT, OutputT> specifies how to combine
a collection of input values of type InputT, associated with
a key of type K, 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.KeyedCombineFn and CombineWithContext.KeyedCombineFnWithContext instead.
| Modifier and Type | Method and Description |
|---|---|
CombineFnBase.GlobalCombineFn<InputT,AccumT,OutputT> |
forKey(K key,
Coder<K> keyCoder)
Returns the a regular
CombineFnBase.GlobalCombineFn that operates on a specific key. |
Coder<AccumT> |
getAccumulatorCoder(CoderRegistry registry,
Coder<K> keyCoder,
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<K> keyCoder,
Coder<InputT> inputCoder)
Returns the
Coder to use by default for output
OutputT values, or null if it is not able to be inferred. |
populateDisplayDataCoder<AccumT> getAccumulatorCoder(CoderRegistry registry, Coder<K> keyCoder, 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 K keys and input 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<K> keyCoder, 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 K keys and input InputT values and the
enclosing Pipeline's CoderRegistry to try to
infer the Coder for OutputT values.
CannotProvideCoderExceptionCombineFnBase.GlobalCombineFn<InputT,AccumT,OutputT> forKey(K key, Coder<K> keyCoder)
CombineFnBase.GlobalCombineFn that operates on a specific key.