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:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LoadAwareShuffleGrouping()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<Integer>
chooseTasks(int taskId, List<Object> values)
This function implements a custom stream grouping.int
getCapacity()
org.apache.storm.grouping.LoadAwareShuffleGrouping.LocalityScope
getCurrentScope()
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)
-
-
-
Method Detail
-
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
public List<Integer> chooseTasks(int taskId, 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
values
- the values to group on
-
refreshLoad
public void refreshLoad(LoadMapping loadMapping)
- Specified by:
refreshLoad
in interfaceLoadAwareCustomStreamGrouping
-
getCapacity
public int getCapacity()
-
getCurrentScope
public org.apache.storm.grouping.LoadAwareShuffleGrouping.LocalityScope getCurrentScope()
-
-