As an alternative to Newts/Cassandra, use ElasticSearch:
This will simplify the integration with Spark, as data aggregation is implemented while retrieving data from Elasticsearch (having the ability to store raw data, similar to Newts but simpler).
Another win here is Kibana, that can make reporting way easier, compared with the Measurements API plus JasperReports. Even his younger brother (i.e. Graf Ana) can be used here, independently of OpenNMS.