The document provides an introduction to Apache Spark and Scala. It begins with background information on Spark as a fast cluster computing engine for Hadoop. It then discusses Scala as an object-oriented and functional language that runs on the Java Virtual Machine. The majority of the document focuses on explaining functional programming concepts in Scala like functions, higher order functions, for-comprehensions, and foldLeft. It also discusses how Scala can be useful for Java developers, Hadoop/Spark developers, and data scientists.