|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcascading.pipe.Pipe
cascading.pipe.SubAssembly
cascading.pipe.assembly.AggregateBy
cascading.pipe.assembly.FirstBy
public class FirstBy
Class FirstBy is used to return the first encountered Tuple in a tuple stream grouping.
Typically finding the first Tuple in a tuple stream grouping relies on aGroupBy
and a
First
Aggregator
operation.
If the firstFields
argument has custom Comparator
instances, they will be used
as the GroupBy sortFields
.
This SubAssembly also uses the FirstBy.FirstPartials
AggregateBy.Functor
to collect field values 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 FirstPartials functions how many unique key counts 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 FormNested Class Summary | |
---|---|
static class |
FirstBy.FirstPartials
Class CountPartials is a AggregateBy.Functor that is used to count observed duplicates from the tuple stream. |
Nested classes/interfaces inherited from class cascading.pipe.assembly.AggregateBy |
---|
AggregateBy.Cache, AggregateBy.CompositeFunction, AggregateBy.Flush, AggregateBy.Functor |
Field Summary |
---|
Fields inherited from class cascading.pipe.assembly.AggregateBy |
---|
AGGREGATE_BY_THRESHOLD, DEFAULT_THRESHOLD, USE_DEFAULT_THRESHOLD |
Fields inherited from class cascading.pipe.Pipe |
---|
configDef, parent, stepConfigDef |
Constructor Summary | |
---|---|
FirstBy(Fields firstFields)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(Fields argumentFields,
Fields firstFields)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(Pipe[] pipes,
Fields groupingFields,
Fields firstFields)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(Pipe[] pipes,
Fields groupingFields,
Fields firstFields,
int threshold)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(Pipe pipe,
Fields groupingFields,
Fields firstFields)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(Pipe pipe,
Fields groupingFields,
Fields firstFields,
int threshold)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(String name,
Pipe[] pipes,
Fields groupingFields,
Fields firstFields)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(String name,
Pipe[] pipes,
Fields groupingFields,
Fields firstFields,
int threshold)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(String name,
Pipe pipe,
Fields groupingFields,
Fields firstFields)
Constructor FirstBy creates a new FirstBy instance. |
|
FirstBy(String name,
Pipe pipe,
Fields groupingFields,
Fields firstFields,
int threshold)
Constructor FirstBy creates a new FirstBy instance. |
Method Summary |
---|
Methods inherited from class cascading.pipe.assembly.AggregateBy |
---|
getAggregators, getArgumentFields, getCapacity, getFieldDeclarations, getFunctors, getGroupBy, getGroupingFields, getThreshold, initialize, initialize, verify |
Methods inherited from class cascading.pipe.SubAssembly |
---|
getName, getPrevious, getTailNames, getTails, setPrevious, setTails, unwind |
Methods inherited from class cascading.pipe.Pipe |
---|
equals, getConfigDef, getHeads, getParent, getStepConfigDef, getTrace, hasConfigDef, hashCode, hasStepConfigDef, id, isEquivalentTo, named, names, outgoingScopeFor, pipes, print, printInternal, resolveIncomingOperationArgumentFields, resolveIncomingOperationPassThroughFields, setParent, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
@ConstructorProperties(value="firstFields") public FirstBy(Fields firstFields)
AggregateBy
instance.
firstFields
- of type Fields@ConstructorProperties(value={"argumentFields","firstFields"}) public FirstBy(Fields argumentFields, Fields firstFields)
AggregateBy
instance.
firstFields
- of type Fields@ConstructorProperties(value={"pipe","groupingFields","firstFields"}) public FirstBy(Pipe pipe, Fields groupingFields, Fields firstFields)
pipe
- of type PipegroupingFields
- of type FieldsfirstFields
- of type Fields@ConstructorProperties(value={"pipe","groupingFields","firstFields","threshold"}) public FirstBy(Pipe pipe, Fields groupingFields, Fields firstFields, int threshold)
pipe
- of type PipegroupingFields
- of type FieldsfirstFields
- fo type Fieldsthreshold
- of type int@ConstructorProperties(value={"name","pipe","groupingFields","firstFields"}) public FirstBy(String name, Pipe pipe, Fields groupingFields, Fields firstFields)
name
- of type Stringpipe
- of type PipegroupingFields
- of type FieldsfirstFields
- of type Fields@ConstructorProperties(value={"name","pipe","groupingFields","firstFields","threshold"}) public FirstBy(String name, Pipe pipe, Fields groupingFields, Fields firstFields, int threshold)
name
- of type Stringpipe
- of type PipegroupingFields
- of type FieldsfirstFields
- of type Fieldsthreshold
- of type int@ConstructorProperties(value={"pipes","groupingFields","firstFields"}) public FirstBy(Pipe[] pipes, Fields groupingFields, Fields firstFields)
pipes
- of type Pipe[]groupingFields
- of type FieldsfirstFields
- of type Fields@ConstructorProperties(value={"pipes","groupingFields","firstFields","threshold"}) public FirstBy(Pipe[] pipes, Fields groupingFields, Fields firstFields, int threshold)
pipes
- of type Pipe[]groupingFields
- of type FieldsfirstFields
- of type Fieldsthreshold
- of type int@ConstructorProperties(value={"name","pipes","groupingFields","firstFields"}) public FirstBy(String name, Pipe[] pipes, Fields groupingFields, Fields firstFields)
name
- of type Stringpipes
- of type Pipe[]groupingFields
- of type FieldsfirstFields
- of type Fields@ConstructorProperties(value={"name","pipes","groupingFields","firstFields","threshold"}) public FirstBy(String name, Pipe[] pipes, Fields groupingFields, Fields firstFields, int threshold)
name
- of type Stringpipes
- of type Pipe[]groupingFields
- of type FieldsfirstFields
- of type Fieldsthreshold
- of type int
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |