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 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 interface CustomStreamGrouping
    • 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 interface CustomStreamGrouping
      values - the values to group on
    • refreshLoad

      public void refreshLoad(LoadMapping loadMapping)
      Specified by:
      refreshLoad in interface LoadAwareCustomStreamGrouping
    • getCapacity

      public int getCapacity()
    • getCurrentScope

      public org.apache.storm.grouping.LoadAwareShuffleGrouping.LocalityScope getCurrentScope()