you might want to have a look at the Regression ML algorithm and integrate it in your SparkStreaming application, i m sure someone on the list has a similar use case
shortly, you'd want to process all your events and feed it through a ML model which,based on your inputs will predict output
You say that your events predict minutes values for next 2-3 hrs... gather data for a day and train ur model based on that. Then save it somewhere and have your streaming app load the module and have the module do the predictions based on incoming events from your streaming app.
Save the results somewhere and have your dashboard poll periodically your data store to read the predictions
I have seen ppl on the list doing ML over a Spark streaming app, i m sure someone can reply back....
Hpefully i gave u a starting point....