Class GroupByOperator<Input,Key>
java.lang.Object
org.apache.wayang.core.plan.wayangplan.OperatorBase
org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator<Input,Iterable<Input>>
org.apache.wayang.basic.operators.GroupByOperator<Input,Key>
- All Implemented Interfaces:
Serializable
,ActualOperator
,ElementaryOperator
,Operator
- Direct Known Subclasses:
FlinkGroupByOperator
This is the auxiliary GroupBy operator, i.e., it behaves differently depending on its context. If it is followed
by a
ReduceOperator
(and akin), it turns that one into a ReduceByOperator
. Otherwise, it corresponds to a
MaterializedGroupByOperator
.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
OperatorBase.GsonSerializer
-
Field Summary
FieldsFields 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
ConstructorsConstructorDescriptionGroupByOperator
(GroupByOperator<Input, Key> that) GroupByOperator
(FunctionDescriptor.SerializableFunction<Input, Key> keyFunction, Class<Input> typeClass, 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<Iterable<Input>> outputType) Creates a new instance. -
Method Summary
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, isConversion, isElementary, isExecutionOperator, isFeedbackInput, isFeedforwardOutput, isLoopHead, isLoopSubplan, isOwnerOf, isReading, isSink, isSource, isSubplan, isSupportingBroadcastInputs, isUnconnected, propagateInputCardinality, propagateOutputCardinality, propagateOutputCardinality, replaceWith, setContainer, setEpoch, setInput, setName, setOutput
-
Field Details
-
keyDescriptor
-
-
Constructor Details
-
GroupByOperator
public GroupByOperator(FunctionDescriptor.SerializableFunction<Input, Key> keyFunction, Class<Input> typeClass, 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
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<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
-
-
Method Details
-
getKeyDescriptor
-