Streams can be partitioned among bolts by using stream grouping, which allows the streams to be routed towards a bolt. Storm provides the following built-in stream groupings, and you can implement a custom stream grouping by implementing the interface:
Shuffle grouping: Each bolt is configured uniformly to get an almost equal number of tuples
Fields grouping: Grouping on a particular field is possible to consolidate the tuples of the same field value and different value tuples to different bolts
All grouping: Each tuple can be sent to all the bolts but can increase the overhead
Direct grouping: The producer can decide which tuples to be sent to which bolt