Class ReduceByKeyAndWindowCustomGrouping<R,K>
- java.lang.Object
-
- org.apache.heron.streamlet.impl.groupings.ReduceByKeyAndWindowCustomGrouping<R,K>
-
- All Implemented Interfaces:
Serializable
,CustomStreamGrouping
,StreamGrouping
public class ReduceByKeyAndWindowCustomGrouping<R,K> extends Object implements CustomStreamGrouping
ReduceByKeyAndWindowCustomGrouping is the class that routes the incoming tuples into the ReduceByKeyAndWindowOperator. It essentially ensures that the values being routed are of type KeyValue uses the key to route the tuple to the destination. The current implementation is identical to JoinCustomGrouping but it might evolve in the future.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ReduceByKeyAndWindowCustomGrouping(SerializableFunction<R,K> keyExtractor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<Integer>
chooseTasks(List<Object> values)
This function implements a custom stream grouping.void
prepare(TopologyContext context, String component, String streamId, List<Integer> targetTasks)
Tells the stream grouping at runtime the tasks in the target bolt.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.heron.api.grouping.CustomStreamGrouping
buildStream
-
-
-
-
Constructor Detail
-
ReduceByKeyAndWindowCustomGrouping
public ReduceByKeyAndWindowCustomGrouping(SerializableFunction<R,K> keyExtractor)
-
-
Method Detail
-
prepare
public void prepare(TopologyContext context, String component, String streamId, List<Integer> targetTasks)
Description copied from interface:CustomStreamGrouping
Tells the stream grouping at runtime the tasks in the target bolt. This information should be used in chooseTasks to determine the target tasks.It also tells the grouping the metadata on the stream this grouping will be used on.
- Specified by:
prepare
in interfaceCustomStreamGrouping
-
chooseTasks
public List<Integer> chooseTasks(List<Object> values)
Description copied from interface:CustomStreamGrouping
This function implements a custom stream grouping. It takes in as input the number of tasks in the target bolt in prepare and returns the tasks to send the tuples to.- Specified by:
chooseTasks
in interfaceCustomStreamGrouping
- Parameters:
values
- the values to group on
-
-