Apache Spark was one of the earliest systems to use Scala for large-scale data processing. While Spark supports APIs in multiple languages, we’ll show how the Scala API in particular benefits from this high-level language to provide an easy-to-use yet efficient programming interface. Spark uses Scala to provide better wrappers over Hadoop data types, provide different operations based on a collection’s type, and offer a simple functional programming interface. Increasingly, it is also using Scala features to optimize operations based on their data types, enable fast serialization (Scala Pickling), and provide database-like query optimization (Spark SQL), all transparent to the user. We’ll illustrate these features through some examples.