storm.trident.partition
Class IndexHashGrouping

java.lang.Object
  extended by storm.trident.partition.IndexHashGrouping
All Implemented Interfaces:
CustomStreamGrouping, java.io.Serializable

public class IndexHashGrouping
extends java.lang.Object
implements CustomStreamGrouping

See Also:
Serialized Form

Constructor Summary
IndexHashGrouping(int index)
           
 
Method Summary
 java.util.List<java.lang.Integer> chooseTasks(int fromTask, java.util.List<java.lang.Object> values)
          This function implements a custom stream grouping.
static int objectToIndex(java.lang.Object val, int numPartitions)
           
 void prepare(WorkerTopologyContext context, GlobalStreamId stream, java.util.List<java.lang.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
 

Constructor Detail

IndexHashGrouping

public IndexHashGrouping(int index)
Method Detail

objectToIndex

public static int objectToIndex(java.lang.Object val,
                                int numPartitions)

prepare

public void prepare(WorkerTopologyContext context,
                    GlobalStreamId stream,
                    java.util.List<java.lang.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 java.util.List<java.lang.Integer> chooseTasks(int fromTask,
                                                     java.util.List<java.lang.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