Package org.apache.storm.grouping
Class LoadAwareShuffleGrouping
java.lang.Object
org.apache.storm.grouping.LoadAwareShuffleGrouping
- All Implemented Interfaces:
Serializable
,CustomStreamGrouping
,LoadAwareCustomStreamGrouping
public class LoadAwareShuffleGrouping
extends Object
implements LoadAwareCustomStreamGrouping, Serializable
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionchooseTasks
(int taskId, List<Object> values) This function implements a custom stream grouping.int
org.apache.storm.grouping.LoadAwareShuffleGrouping.LocalityScope
void
prepare
(WorkerTopologyContext context, GlobalStreamId stream, List<Integer> targetTasks) Tells the stream grouping at runtime the tasks in the target bolt.void
refreshLoad
(LoadMapping loadMapping)
-
Constructor Details
-
LoadAwareShuffleGrouping
public LoadAwareShuffleGrouping()
-
-
Method Details
-
prepare
public void prepare(WorkerTopologyContext context, GlobalStreamId stream, 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
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
values
- the values to group on
-
refreshLoad
- Specified by:
refreshLoad
in interfaceLoadAwareCustomStreamGrouping
-
getCapacity
public int getCapacity() -
getCurrentScope
public org.apache.storm.grouping.LoadAwareShuffleGrouping.LocalityScope getCurrentScope()
-