public class PartialGroupByKeyOperation extends ReceivingOperation
| Modifier and Type | Class and Description |
|---|---|
static class |
PartialGroupByKeyOperation.BufferingGroupingTable<K,V>
A grouping table that simply buffers all inserted values in a list.
|
static interface |
PartialGroupByKeyOperation.Combiner<K,InputT,AccumT,OutputT>
Provides client-specific operations for combining values.
|
static class |
PartialGroupByKeyOperation.CombiningGroupingTable<K,InputT,AccumT>
A grouping table that uses the given combiner to combine values in place.
|
static interface |
PartialGroupByKeyOperation.GroupingKeyCreator<K>
Provides client-specific operations for grouping keys.
|
static interface |
PartialGroupByKeyOperation.PairInfo
Provides client-specific operations for working with elements
that are key/value or key/values pairs.
|
static class |
PartialGroupByKeyOperation.SamplingSizeEstimator<T>
Implements size estimation by adaptively delegating to an underlying
(potentially more expensive) estimator for some elements and returning
the average value for others.
|
static interface |
PartialGroupByKeyOperation.SizeEstimator<T>
Provides client-specific operations for size estimates.
|
static class |
PartialGroupByKeyOperation.StructuralByteArray
A wrapper around a byte[] that uses structural, value-based
equality rather than byte[]'s normal object identity.
|
Operation.InitializationStatefinishState, initializationState, initializationStateLock, operationName, processState, receivers, startState, stateSampler| Modifier and Type | Method and Description |
|---|---|
void |
finish()
Finishes this Operation's execution.
|
long |
getGroupingTableBytes()
Returns the amount of memory the grouping table currently consumes.
|
void |
process(Object elem)
Processes the element.
|
void |
setMaxGroupingTableBytes(long maxSize)
Sets the maximum amount of memory the grouping table is allowed to
consume before it has to be flushed.
|
boolean |
supportsRestart()
Returns true if this Operation can be started again after it is finished.
|
attachInputpublic PartialGroupByKeyOperation(String operationName, PartialGroupByKeyOperation.GroupingKeyCreator<?> groupingKeyCreator, PartialGroupByKeyOperation.SizeEstimator<?> keySizeEstimator, PartialGroupByKeyOperation.SizeEstimator<?> valueSizeEstimator, PartialGroupByKeyOperation.PairInfo pairInfo, OutputReceiver[] receivers, String counterPrefix, CounterSet.AddCounterMutator addCounterMutator, StateSampler stateSampler)
public PartialGroupByKeyOperation(String operationName, PartialGroupByKeyOperation.GroupingKeyCreator<?> groupingKeyCreator, PartialGroupByKeyOperation.SizeEstimator<?> keySizeEstimator, PartialGroupByKeyOperation.SizeEstimator<?> valueSizeEstimator, PartialGroupByKeyOperation.Combiner combineFn, PartialGroupByKeyOperation.PairInfo pairInfo, OutputReceiver[] receivers, String counterPrefix, CounterSet.AddCounterMutator addCounterMutator, StateSampler stateSampler)
public PartialGroupByKeyOperation(String operationName, PartialGroupByKeyOperation.GroupingKeyCreator<?> groupingKeyCreator, PartialGroupByKeyOperation.SizeEstimator<?> keySizeEstimator, PartialGroupByKeyOperation.SizeEstimator<?> valueSizeEstimator, double sizeEstimatorSampleRate, PartialGroupByKeyOperation.Combiner combineFn, PartialGroupByKeyOperation.PairInfo pairInfo, OutputReceiver[] receivers, String counterPrefix, CounterSet.AddCounterMutator addCounterMutator, StateSampler stateSampler)
public PartialGroupByKeyOperation(PartialGroupByKeyOperation.GroupingKeyCreator<?> groupingKeyCreator, PartialGroupByKeyOperation.SizeEstimator<?> keySizeEstimator, PartialGroupByKeyOperation.SizeEstimator<?> valueSizeEstimator, PartialGroupByKeyOperation.PairInfo pairInfo, OutputReceiver outputReceiver, String counterPrefix, CounterSet.AddCounterMutator addCounterMutator, StateSampler stateSampler)
public PartialGroupByKeyOperation(PartialGroupByKeyOperation.GroupingKeyCreator<?> groupingKeyCreator, PartialGroupByKeyOperation.SizeEstimator<?> keySizeEstimator, PartialGroupByKeyOperation.SizeEstimator<?> valueSizeEstimator, PartialGroupByKeyOperation.Combiner combineFn, PartialGroupByKeyOperation.PairInfo pairInfo, OutputReceiver outputReceiver, String counterPrefix, CounterSet.AddCounterMutator addCounterMutator, StateSampler stateSampler)
public void process(Object elem) throws Exception
ReceiverExceptionpublic void finish()
throws Exception
Operationpublic boolean supportsRestart()
OperationsupportsRestart in class Operationpublic void setMaxGroupingTableBytes(long maxSize)
public long getGroupingTableBytes()