Class GroupByOperator<Input,Key>
- java.lang.Object
-
- org.apache.wayang.core.plan.wayangplan.OperatorBase
-
- org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator<Input,java.lang.Iterable<Input>>
-
- org.apache.wayang.basic.operators.GroupByOperator<Input,Key>
-
- All Implemented Interfaces:
java.io.Serializable
,ActualOperator
,ElementaryOperator
,Operator
- Direct Known Subclasses:
FlinkGroupByOperator
public class GroupByOperator<Input,Key> extends UnaryToUnaryOperator<Input,java.lang.Iterable<Input>>
This is the auxiliary GroupBy operator, i.e., it behaves differently depending on its context. If it is followed by aReduceOperator
(and akin), it turns that one into aReduceByOperator
. Otherwise, it corresponds to aMaterializedGroupByOperator
.- See Also:
MaterializedGroupByOperator
,ReduceOperator
, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
OperatorBase.GsonSerializer
-
-
Field Summary
Fields Modifier and Type Field Description protected TransformationDescriptor<Input,Key>
keyDescriptor
-
Fields inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
inputSlots, outputSlots, STANDARD_OPERATOR_ARGS
-
Fields inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
FIRST_EPOCH
-
-
Constructor Summary
Constructors Constructor Description GroupByOperator(GroupByOperator<Input,Key> that)
GroupByOperator(FunctionDescriptor.SerializableFunction<Input,Key> keyFunction, java.lang.Class<Input> typeClass, java.lang.Class<Key> keyClass)
Creates a new instance.GroupByOperator(TransformationDescriptor<Input,Key> keyDescriptor)
Creates a new instance.GroupByOperator(TransformationDescriptor<Input,Key> keyDescriptor, DataSetType<Input> inputType, DataSetType<java.lang.Iterable<Input>> outputType)
Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TransformationDescriptor<Input,Key>
getKeyDescriptor()
-
Methods inherited from class org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator
getInput, getInputType, getOutput, getOutputType
-
Methods inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
accept, addBroadcastInput, addTargetPlatform, at, collectMappedInputSlots, collectMappedOutputSlots, copy, createCopy, getAllInputs, getAllOutputs, getCardinalityEstimator, getContainer, getEpoch, getName, getOriginal, getSimpleClassName, getTargetPlatforms, isAuxiliary, isSupportingBroadcastInputs, propagateInputCardinality, propagateOutputCardinality, setAuxiliary, setCardinalityEstimator, setContainer, setEpoch, setName, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.wayang.core.plan.wayangplan.ActualOperator
accept
-
Methods inherited from interface org.apache.wayang.core.plan.wayangplan.ElementaryOperator
createCardinalityEstimator, getCardinalityEstimator, isAuxiliary, setAuxiliary, setCardinalityEstimator
-
Methods inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
addBroadcastInput, addTargetPlatform, broadcastTo, broadcastTo, collectMappedInputSlots, collectMappedOutputSlots, connectTo, connectTo, getAllInputs, getAllOutputs, getCardinalityPusher, getContainer, getEffectiveOccupant, getEffectiveOccupant, getEpoch, getEstimationContextProperties, getForwards, getInnermostLoop, getInput, getInput, getLoopStack, getName, getNumBroadcastInputs, getNumInputs, getNumOutputs, getNumRegularInputs, getOuterInputSlot, getOutermostInputSlot, getOutermostOutputSlots, getOutput, getOutput, getParent, getTargetPlatforms, isAlternative, isElementary, isExecutionOperator, isFeedbackInput, isFeedforwardOutput, isLoopHead, isLoopSubplan, isOwnerOf, isReading, isSink, isSource, isSubplan, isSupportingBroadcastInputs, isUnconnected, propagateInputCardinality, propagateOutputCardinality, propagateOutputCardinality, setContainer, setEpoch, setInput, setName, setOutput
-
-
-
-
Field Detail
-
keyDescriptor
protected final TransformationDescriptor<Input,Key> keyDescriptor
-
-
Constructor Detail
-
GroupByOperator
public GroupByOperator(FunctionDescriptor.SerializableFunction<Input,Key> keyFunction, java.lang.Class<Input> typeClass, java.lang.Class<Key> keyClass)
Creates a new instance.- Parameters:
keyFunction
- describes how to extract the key from data unitstypeClass
- class of the data quanta to be groupedkeyClass
- class of the extracted keys
-
GroupByOperator
public GroupByOperator(TransformationDescriptor<Input,Key> keyDescriptor)
Creates a new instance.- Parameters:
keyDescriptor
- describes the key w.r.t. to the processed data units
-
GroupByOperator
public GroupByOperator(TransformationDescriptor<Input,Key> keyDescriptor, DataSetType<Input> inputType, DataSetType<java.lang.Iterable<Input>> outputType)
Creates a new instance.- Parameters:
keyDescriptor
- describes the key w.r.t. to the processed data unitsinputType
- class of the input types (i.e., type ofUnaryToUnaryOperator.getInput()
outputType
- class of the output types (i.e., type ofUnaryToUnaryOperator.getOutput()
-
GroupByOperator
public GroupByOperator(GroupByOperator<Input,Key> that)
-
-
Method Detail
-
getKeyDescriptor
public TransformationDescriptor<Input,Key> getKeyDescriptor()
-
-