backtype.storm.grouping
Interface CustomStreamGrouping

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
NGrouping

public interface CustomStreamGrouping
extends java.io.Serializable


Method Summary
 void prepare(Fields outFields, int numTasks)
          Tells the stream grouping at runtime the number of tasks in the target bolt.
 java.util.List<java.lang.Integer> taskIndices(java.util.List<java.lang.Object> values)
          This function implements a custom stream grouping.
 

Method Detail

prepare

void prepare(Fields outFields,
             int numTasks)
Tells the stream grouping at runtime the number of tasks in the target bolt. This information should be used in taskIndicies to determine the target tasks. It also tells the grouping the metadata on the stream this grouping will be used on.


taskIndices

java.util.List<java.lang.Integer> taskIndices(java.util.List<java.lang.Object> values)
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 indices of the tasks to send the tuple to. Each index must be in the range [0, numTargetTasks-1]

Parameters:
tuple - the values to group on
numTargetTasks - the number of tasks in the target bolt