public class MinBy extends AggregateBy
GroupBy
and a
MinValue
Aggregator
operation.
This SubAssembly also uses the MinBy.MinPartials
AggregateBy.Functor
to track the minimum value before the GroupBy operator to reduce IO over the network.
This strategy is similar to using combiners
, except no sorting or serialization is invoked and results
in a much simpler mechanism.
The threshold
value tells the underlying MinPartials functions how many unique key sums to accumulate
in the LRU cache, before emitting the least recently used entry. This accumulation happens map-side, and thus is
bounded by the size of your map task JVM and the typical size of each group key.
By default, either the value of AggregateByProps.AGGREGATE_BY_CAPACITY
System property
or AggregateByProps.AGGREGATE_BY_DEFAULT_CAPACITY
will be used.AggregateBy
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
MinBy.MinPartials |
AggregateBy.Cache, AggregateBy.CompositeFunction, AggregateBy.Functor
USE_DEFAULT_THRESHOLD
configDef, nodeConfigDef, parent, stepConfigDef
Constructor and Description |
---|
MinBy(Fields valueField,
Fields minField)
Constructor MinBy creates a new MinBy instance.
|
MinBy(Pipe[] pipes,
Fields groupingFields,
Fields valueField,
Fields minField)
Constructor MinBy creates a new MinBy instance.
|
MinBy(Pipe[] pipes,
Fields groupingFields,
Fields valueField,
Fields minField,
int threshold)
Constructor MinBy creates a new MinBy instance.
|
MinBy(Pipe pipe,
Fields groupingFields,
Fields valueField,
Fields minField)
Constructor MinBy creates a new MinBy instance.
|
MinBy(Pipe pipe,
Fields groupingFields,
Fields valueField,
Fields minField,
int threshold)
Constructor MinBy creates a new MinBy instance.
|
MinBy(String name,
Pipe[] pipes,
Fields groupingFields,
Fields valueField,
Fields minField)
Constructor MinBy creates a new MinBy instance.
|
MinBy(String name,
Pipe[] pipes,
Fields groupingFields,
Fields valueField,
Fields minField,
int threshold)
Constructor MinBy creates a new MinBy instance.
|
MinBy(String name,
Pipe pipe,
Fields groupingFields,
Fields valueField,
Fields minField)
Constructor MinBy creates a new MinBy instance.
|
MinBy(String name,
Pipe pipe,
Fields groupingFields,
Fields valueField,
Fields minField,
int threshold)
Constructor MinBy creates a new MinBy instance.
|
getAggregators, getArgumentFields, getCapacity, getFieldDeclarations, getFunctors, getGroupBy, getGroupingFields, initialize, initialize, verify
getName, getPrevious, getTailNames, getTails, setPrevious, setTails, unwind
equals, getConfigDef, getHeads, getNodeConfigDef, getParent, getStepConfigDef, getTrace, hasConfigDef, hashCode, hasNodeConfigDef, hasStepConfigDef, id, isEquivalentTo, named, names, outgoingScopeFor, pipes, print, printInternal, resolveIncomingOperationArgumentFields, resolveIncomingOperationPassThroughFields, setParent, toString
@ConstructorProperties(value={"valueField","minField"}) public MinBy(Fields valueField, Fields minField)
AggregateBy
instance.valueField
- of type FieldsminField
- of type Fields@ConstructorProperties(value={"pipe","groupingFields","valueField","minField"}) public MinBy(Pipe pipe, Fields groupingFields, Fields valueField, Fields minField)
pipe
- of type PipegroupingFields
- of type FieldsvalueField
- of type FieldsminField
- of type Fields@ConstructorProperties(value={"pipe","groupingFields","valueField","minField","threshold"}) public MinBy(Pipe pipe, Fields groupingFields, Fields valueField, Fields minField, int threshold)
pipe
- of type PipegroupingFields
- of type FieldsvalueField
- of type FieldsminField
- of type Fieldsthreshold
- of type int@ConstructorProperties(value={"name","pipe","groupingFields","valueField","minField"}) public MinBy(String name, Pipe pipe, Fields groupingFields, Fields valueField, Fields minField)
name
- of type Stringpipe
- of type PipegroupingFields
- of type FieldsvalueField
- of type FieldsminField
- of type Fields@ConstructorProperties(value={"name","pipe","groupingFields","valueField","minField","threshold"}) public MinBy(String name, Pipe pipe, Fields groupingFields, Fields valueField, Fields minField, int threshold)
name
- of type Stringpipe
- of type PipegroupingFields
- of type FieldsvalueField
- of type FieldsminField
- of type Fieldsthreshold
- of type int@ConstructorProperties(value={"pipes","groupingFields","valueField","minField"}) public MinBy(Pipe[] pipes, Fields groupingFields, Fields valueField, Fields minField)
pipes
- of type Pipe[]groupingFields
- of type FieldsvalueField
- of type FieldsminField
- of type Fields@ConstructorProperties(value={"pipes","groupingFields","valueField","minField","threshold"}) public MinBy(Pipe[] pipes, Fields groupingFields, Fields valueField, Fields minField, int threshold)
pipes
- of type Pipe[]groupingFields
- of type FieldsvalueField
- of type FieldsminField
- of type Fieldsthreshold
- of type int@ConstructorProperties(value={"name","pipes","groupingFields","valueField","minField"}) public MinBy(String name, Pipe[] pipes, Fields groupingFields, Fields valueField, Fields minField)
name
- of type Stringpipes
- of type Pipe[]groupingFields
- of type FieldsvalueField
- of type FieldsminField
- of type Fields@ConstructorProperties(value={"name","pipes","groupingFields","valueField","minField","threshold"}) public MinBy(String name, Pipe[] pipes, Fields groupingFields, Fields valueField, Fields minField, int threshold)
name
- of type Stringpipes
- of type Pipe[]groupingFields
- of type FieldsvalueField
- of type FieldsminField
- of type Fieldsthreshold
- of type intCopyright © 2007-2015 Concurrent, Inc. All Rights Reserved.