I am clarified.
Thank you very much!
You should do the grouping within the bolt execute method, which will have all tuples of all ids.
Fields grouping is something you can do on top of this if you want to spread out (scale) the operation to multiple bolts and you want to receive tuples with same id in the same bolt.
Florin, Arun, thank you for your answers.
I’m afraid streams are not what I am looking for. I do not know in advance which ids I will have in the system. Imagine this ids as users registered in the system, for example.
Arun, by id based grouping do you mean fields grouping? Or do you mean I should do the grouping myself within the bolt execute method, which will have all tuples of all ids?
Yes, you could have a separate stream per id and have a separate windowed bolt subscribe to the corresponding stream.
The other option is to do the id based grouping within the windowed bolt each time its "execute" method is triggered with the tuples in the current window.
With regard to the new windowing features of Storm 1.0.0, is it possible to group the windows by id, so that the events coming from different clients are processed by different windows?