Avoid groupByKey when performing an associative reductive operation | Apache Spark - Best Practices and Tuning