cascading.pipe
Class CoGroup

java.lang.Object
  extended by cascading.pipe.Pipe
      extended by cascading.pipe.Splice
          extended by cascading.pipe.CoGroup
All Implemented Interfaces:
FlowElement, Group, Serializable

public class CoGroup
extends Splice
implements Group

The CoGroup pipe allows for two or more tuple streams to join into a single stream via an optional Joiner.

If followed by an assembly of Everys to execute one or more Aggregators, they will be guaranteed to receive all values associated with a unique grouping key. In the case of a MapReduce platform, this invokes a Reduce task to guarantee all values are associated with a given unique grouping key.

If no aggregations are to be performed, and one or more streams of data are small (may fit in reasonable memory), see the HashJoin Pipe for partially non-blocking joins.

For every incoming Pipe instance, a Fields instance must be specified that denotes the field names or positions that should be co-grouped with the other given Pipe instances. If the incoming Pipe instances declare one or more field with the same name, the declaredFields must be given to name all the outgoing Tuple stream fields to overcome field name collisions. That is, if the first pipe has 4 fields, and the second pipe has 3 fields, 7 fields total must be declared having unique field names, if any.

resultGroupFields value is a convenience allowing the override of the resulting grouping field names. The size of resultGroupFields must be equal to the total number of grouping keys fields. That is, if joining on two pipes which are grouping on two keys, the resultGroupFields must be 4 fields, each field field name being unique, if any. By default, the resultGroupKeys are retrieved from the declaredFields.

By default CoGroup performs an inner join via the InnerJoin Joiner class.

Self joins can be achieved by using a constructor that takes a single Pipe and a numSelfJoins value. A value of 1 for numSelfJoins will join the Pipe with itself once.

The outgoing grouping Tuple stream is sorted by the natural order of the grouping fields. To control this order, at least the first groupingFields value given should be an instance of Fields containing Comparator instances for the appropriate fields. This allows fine grained control of the sort grouping order.

CoGrouping does not scale well when implemented over MapReduce. In Cascading there are two ways to optimize CoGrouping.

The first is to consider the order of the pipes handed to the CoGroup constructor.

During co-grouping, for any given unique grouping key, all of the rightmost pipes will accumulate the current grouping values into memory so they may be iterated across for every value in the left hand side pipe. During the accumulation step, if the number of values exceeds the SpillableTupleList threshold value, those values will be spilled to disk so the accumulation may continue.

See the TupleCollectionFactory and TupleMapFactory for a means to use alternative spillable types.

There is no accumulation for the left hand side pipe, only for those to the "right".

Thus, for the pipe that has the largest number of values per unique key grouping, on average, it should be made the "left hand side" pipe (lhs). And all remaining pipes should be the on the "right hand side" (rhs) to prevent the likelihood of a spill and to reduce the blocking associated with accumulating the values. If using the Pipe[] constructor, Pipe[0] is the left hand sided pipe.

If spills are happening, consider increasing the spill threshold, see SpillableTupleList, if more RAM is available. See the logs for hints on how much more these values can be increased, if any.

Spills are intended to prevent OutOfMemoryError's, so reducing the number of spills is important by increasing the threshold, but memory errors aren't recoverable, so the correct balance will need to be found.

To customize the spill values for a given CoGroup only, see Pipe.getStepConfigDef().

See Also:
InnerJoin, OuterJoin, LeftJoin, RightJoin, MixedJoin, Fields, SpillableTupleList, Serialized Form

Field Summary
 
Fields inherited from class cascading.pipe.Splice
declaredFields, keyFieldsMap, resultGroupFields, sortFieldsMap
 
Fields inherited from class cascading.pipe.Pipe
configDef, previous, stepConfigDef
 
Constructor Summary
CoGroup(Pipe... pipes)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe[] pipes, Fields[] groupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Fields resultGroupFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe pipe, Fields groupFields, int numSelfJoins)
          Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.
CoGroup(Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields)
          Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.
CoGroup(Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Fields resultGroupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Fields resultGroupFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.
CoGroup(Pipe pipe, Fields groupFields, int numSelfJoins, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.
CoGroup(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Fields resultGroupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Fields resultGroupFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe... pipes)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe[] pipes, Fields[] groupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe[] pipes, Fields[] groupFields, Fields declaredFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Fields resultGroupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Fields resultGroupFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe pipe, Fields groupFields, int numSelfJoins)
          Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.
CoGroup(String groupName, Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields)
          Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.
CoGroup(String groupName, Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Fields resultGroupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Fields resultGroupFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.
CoGroup(String groupName, Pipe pipe, Fields groupFields, int numSelfJoins, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.
CoGroup(String groupName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Fields resultGroupFields)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Fields resultGroupFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
CoGroup(String groupName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Joiner joiner)
          Constructor CoGroup creates a new CoGroup instance.
 
Method Summary
 
Methods inherited from class cascading.pipe.Splice
equals, getDeclaredFields, getJoiner, getKeySelectors, getName, getNumSelfJoins, getPipePos, getPrevious, getSortingSelectors, hashCode, isCoGroup, isEquivalentTo, isGroupBy, isJoin, isMerge, isSorted, isSortReversed, outgoingScopeFor, printInternal, resolveIncomingOperationPassThroughFields, toString
 
Methods inherited from class cascading.pipe.Pipe
getConfigDef, getHeads, getStepConfigDef, getTrace, hasConfigDef, hasStepConfigDef, named, names, pipes, print, resolveIncomingOperationArgumentFields
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cascading.pipe.Group
getKeySelectors, getName, getSortingSelectors, isCoGroup, isGroupBy, isSorted, isSortReversed
 
Methods inherited from interface cascading.flow.FlowElement
getConfigDef, getStepConfigDef, hasConfigDef, hasStepConfigDef, isEquivalentTo, outgoingScopeFor, resolveIncomingOperationArgumentFields, resolveIncomingOperationPassThroughFields
 

Constructor Detail

CoGroup

@ConstructorProperties(value={"lhs","lhsGroupFields","rhs","rhsGroupFields","declaredFields"})
public CoGroup(Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Fields declaredFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
declaredFields - of type Fields

CoGroup

@ConstructorProperties(value={"lhs","lhsGroupFields","rhs","rhsGroupFields","declaredFields","resultGroupFields"})
public CoGroup(Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Fields declaredFields,
                                          Fields resultGroupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
declaredFields - of type Fields
resultGroupFields - of type Fields

CoGroup

@ConstructorProperties(value={"lhs","lhsGroupFields","rhs","rhsGroupFields","declaredFields","joiner"})
public CoGroup(Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Fields declaredFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
declaredFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"lhs","lhsGroupFields","rhs","rhsGroupFields","declaredFields","resultGroupFields","joiner"})
public CoGroup(Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Fields declaredFields,
                                          Fields resultGroupFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
declaredFields - of type Fields
resultGroupFields - of type Fields
joiner - of type Joiner

CoGroup

@ConstructorProperties(value={"lhs","lhsGroupFields","rhs","rhsGroupFields","joiner"})
public CoGroup(Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"lhs","lhsGroupFields","rhs","rhsGroupFields"})
public CoGroup(Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields

CoGroup

@ConstructorProperties(value="pipes")
public CoGroup(Pipe... pipes)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
pipes - of type Pipe...

CoGroup

@ConstructorProperties(value={"pipes","groupFields"})
public CoGroup(Pipe[] pipes,
                                          Fields[] groupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
pipes - of type Pipe[]
groupFields - of type Fields[]

CoGroup

@ConstructorProperties(value={"pipes","groupFields","declaredFields","joiner"})
public CoGroup(Pipe[] pipes,
                                          Fields[] groupFields,
                                          Fields declaredFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
pipes - of type Pipe[]
groupFields - of type Fields[]
declaredFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"pipes","groupFields","declaredFields","resultGroupFields","joiner"})
public CoGroup(Pipe[] pipes,
                                          Fields[] groupFields,
                                          Fields declaredFields,
                                          Fields resultGroupFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
pipes - of type Pipe[]
groupFields - of type Fields[]
declaredFields - of type Fields
resultGroupFields - of type Fields
joiner - of type Joiner

CoGroup

@ConstructorProperties(value={"groupName","pipes","groupFields"})
public CoGroup(String groupName,
                                          Pipe[] pipes,
                                          Fields[] groupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
pipes - of type Pipe[]
groupFields - of type Fields[]

CoGroup

@ConstructorProperties(value={"groupName","pipes","groupFields","declaredFields"})
public CoGroup(String groupName,
                                          Pipe[] pipes,
                                          Fields[] groupFields,
                                          Fields declaredFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
pipes - of type Pipe[]
groupFields - of type Fields[]
declaredFields - of type Fields

CoGroup

@ConstructorProperties(value={"groupName","pipes","groupFields","declaredFields","resultGroupFields"})
public CoGroup(String groupName,
                                          Pipe[] pipes,
                                          Fields[] groupFields,
                                          Fields declaredFields,
                                          Fields resultGroupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
pipes - of type Pipe[]
groupFields - of type Fields[]
declaredFields - of type Fields
resultGroupFields - of type Fields

CoGroup

@ConstructorProperties(value={"groupName","pipes","groupFields","declaredFields","joiner"})
public CoGroup(String groupName,
                                          Pipe[] pipes,
                                          Fields[] groupFields,
                                          Fields declaredFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
pipes - of type Pipe[]
groupFields - of type Fields[]
declaredFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"groupName","pipes","groupFields","declaredFields","resultGroupFields","joiner"})
public CoGroup(String groupName,
                                          Pipe[] pipes,
                                          Fields[] groupFields,
                                          Fields declaredFields,
                                          Fields resultGroupFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
pipes - of type Pipe[]
groupFields - of type Fields[]
declaredFields - of type Fields
resultGroupFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"groupName","lhs","lhsGroupFields","rhs","rhsGroupFields","declaredFields"})
public CoGroup(String groupName,
                                          Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Fields declaredFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
declaredFields - of type Fields

CoGroup

@ConstructorProperties(value={"groupName","lhs","lhsGroupFields","rhs","rhsGroupFields","declaredFields","resultGroupFields"})
public CoGroup(String groupName,
                                          Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Fields declaredFields,
                                          Fields resultGroupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
declaredFields - of type Fields
resultGroupFields - of type Fields

CoGroup

@ConstructorProperties(value={"groupName","lhs","lhsGroupFields","rhs","rhsGroupFields","declaredFields","joiner"})
public CoGroup(String groupName,
                                          Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Fields declaredFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
declaredFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"groupName","lhs","lhsGroupFields","rhs","rhsGroupFields","declaredFields","resultGroupFields","joiner"})
public CoGroup(String groupName,
                                          Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Fields declaredFields,
                                          Fields resultGroupFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
declaredFields - of type Fields
resultGroupFields - of type Fields
joiner - of type Joiner

CoGroup

@ConstructorProperties(value={"groupName","lhs","lhsGroupFields","rhs","rhsGroupFields","joiner"})
public CoGroup(String groupName,
                                          Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"groupName","lhs","lhsGroupFields","rhs","rhsGroupFields"})
public CoGroup(String groupName,
                                          Pipe lhs,
                                          Fields lhsGroupFields,
                                          Pipe rhs,
                                          Fields rhsGroupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
lhs - of type Pipe
lhsGroupFields - of type Fields
rhs - of type Pipe
rhsGroupFields - of type Fields

CoGroup

@ConstructorProperties(value={"groupName","pipes"})
public CoGroup(String groupName,
                                          Pipe... pipes)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
pipes - of type Pipe...

CoGroup

@ConstructorProperties(value={"pipe","groupFields","numSelfJoins","declaredFields"})
public CoGroup(Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Fields declaredFields)
Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.

Parameters:
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
declaredFields - of type Fields

CoGroup

@ConstructorProperties(value={"pipe","groupFields","numSelfJoins","declaredFields","resultGroupFields"})
public CoGroup(Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Fields declaredFields,
                                          Fields resultGroupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
declaredFields - of type Fields
resultGroupFields - of type Fields

CoGroup

@ConstructorProperties(value={"pipe","groupFields","numSelfJoins","declaredFields","joiner"})
public CoGroup(Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Fields declaredFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.

Parameters:
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
declaredFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"pipe","groupFields","numSelfJoins","declaredFields","resultGroupFields","joiner"})
public CoGroup(Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Fields declaredFields,
                                          Fields resultGroupFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
declaredFields - of type Fields
resultGroupFields - of type Fields
joiner - of type Joiner

CoGroup

@ConstructorProperties(value={"pipe","groupFields","numSelfJoins","joiner"})
public CoGroup(Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.

Parameters:
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"pipe","groupFields","numSelfJoins"})
public CoGroup(Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins)
Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.

Parameters:
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int

CoGroup

@ConstructorProperties(value={"groupName","pipe","groupFields","numSelfJoins","declaredFields"})
public CoGroup(String groupName,
                                          Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Fields declaredFields)
Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.

Parameters:
groupName - of type String
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
declaredFields - of type Fields

CoGroup

@ConstructorProperties(value={"groupName","pipe","groupFields","numSelfJoins","declaredFields","resultGroupFields"})
public CoGroup(String groupName,
                                          Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Fields declaredFields,
                                          Fields resultGroupFields)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
declaredFields - of type Fields
resultGroupFields - of type Fields

CoGroup

@ConstructorProperties(value={"groupName","pipe","groupFields","numSelfJoins","declaredFields","joiner"})
public CoGroup(String groupName,
                                          Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Fields declaredFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.

Parameters:
groupName - of type String
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
declaredFields - of type Fields
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"groupName","pipe","groupFields","numSelfJoins","declaredFields","resultGroupFields","joiner"})
public CoGroup(String groupName,
                                          Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Fields declaredFields,
                                          Fields resultGroupFields,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance.

Parameters:
groupName - of type String
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
declaredFields - of type Fields
resultGroupFields - of type Fields
joiner - of type Joiner

CoGroup

@ConstructorProperties(value={"groupName","pipe","groupFields","numSelfJoins","joiner"})
public CoGroup(String groupName,
                                          Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins,
                                          Joiner joiner)
Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.

Parameters:
groupName - of type String
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int
joiner - of type CoGrouper

CoGroup

@ConstructorProperties(value={"groupName","pipe","groupFields","numSelfJoins"})
public CoGroup(String groupName,
                                          Pipe pipe,
                                          Fields groupFields,
                                          int numSelfJoins)
Constructor CoGroup creates a new CoGroup instance that performs numSelfJoins number of self joins on the given Pipe instance.

Parameters:
groupName - of type String
pipe - of type Pipe
groupFields - of type Fields
numSelfJoins - of type int


Copyright © 2007-2012 Concurrent, Inc. All Rights Reserved.