storm.trident.partition
Class IndexHashGrouping
java.lang.Object
storm.trident.partition.IndexHashGrouping
- All Implemented Interfaces:
- CustomStreamGrouping, java.io.Serializable
public class IndexHashGrouping
- extends java.lang.Object
- implements CustomStreamGrouping
- See Also:
- Serialized Form
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 |
IndexHashGrouping
public IndexHashGrouping(int index)
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