Spark SQL is at the heart of all applications developed using Spark. In this book, we will explore Spark SQL in great detail, including its usage in various types of applications as well as its internal workings. Developers and architects will appreciate the technical concepts and hands-on sessions presented in each chapter, as they progress through the book.
In this chapter, we will introduce you to the key concepts related to Spark SQL. We will start with SparkSession, the new entry point for Spark SQL in Spark 2.0. Then, we will explore Spark SQL's interfaces RDDs, DataFrames, and Dataset APIs. Later on, we will explain the developer-level details regarding the Catalyst optimizer and Project Tungsten.
Finally, we will introduce an exciting new feature in Spark 2.0 for streaming applications, called Structured Streaming. Specific hands-on exercises (using publicly available Datasets) are presented throughout the chapter, so you can actively follow along as you read through the various sections.
More specifically, the sections in this chapter will cover the following topics along with practice hands-on sessions:
- What is Spark SQL?
- Introducing SparkSession
- Understanding Spark SQL concepts
- Understanding RDDs, DataFrames, and Datasets
- Understanding the Catalyst optimizer
- Understanding Project Tungsten
- Using Spark SQL in continuous applications
- Understanding Structured Streaming internals