Scala and the JVM for Big Data: Lessons from Spark