The last chapter introduced you to the Spark architecture and programming model. We took a quick tour of the core Spark components and APIs and finished up with an exercise that introduced you to the spark-shell and the DataFrame API. You also saw your first glimpse of the Spark SQL API, which empowers you to express complex analytical queries quickly and easily in a structured way. It also that cleanly abstracts away the underlying complexities when composing difficult SQL expressions.
In this chapter, we continue ...