Skip to main content

Introduction to Spark SQL in Python

Learn how to manipulate data and create machine learning feature sets in Spark using SQL in Python.

Start Course for Free
4 Hours15 Videos52 Exercises12,553 Learners4200 XP

Create Your Free Account



By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.

Loved by learners at thousands of companies

Course Description

Learn Spark SQL

If you’re familiar with SQL and have heard great things about Apache Spark, this course is for you. Apache Spark is a computing framework for processing big data, and Spark SQL is a component of Apache Spark. This four-hour course will show you how to take Spark to a new level of usefulness, using advanced SQL features, such as window functions.

Over the course of four chapters, you’ll use Spark SQL to analyze time series data, extract the most common words from a text document, create feature sets from natural language text, and use them to predict the last word in a sentence using logistic regression.

Discover the Uses of Spark SQL

You’ll start by creating and querying an SQL table in Spark, as well as learning how to use SQL window functions to perform running sums, running differences, and other operations.

Next, you’ll explore how to use the window function in Spark SQL for natural language processing, including using a moving window analysis to find common word sequences.

In chapter 3, you’ll learn how to use the SQL Spark UI to properly cache DataFrames and SQL tables before exploring the best practices for logging in Spark.

Finally, you use all of the skills learned so far to load and tokenize raw text before extracting word sequences. You’ll then use logistic regression to classify the text, using raw natural language data to train a text classifier.

Gain a Thorough Introduction to Spark SQL

By the end of the course, you’ll have a firm understanding of Spark SQL and will understand how Spark combines the power of distributed computing with the ease of use of Python and SQL.
  1. 1

    PySpark SQL


    In this chapter you will learn how to create and query a SQL table in Spark. Spark SQL brings the expressiveness of SQL to Spark. You will also learn how to use SQL window functions in Spark. Window functions perform a calculation across rows that are related to the current row. They greatly simplify achieving results that are difficult to express using only joins and traditional aggregations. We'll use window functions to perform running sums, running differences, and other operations that are challenging to perform in basic SQL.

    Play Chapter Now
    Creating and querying a SQL table in Spark
    50 xp
    Create a SQL table from a dataframe
    100 xp
    Determine the column names of a table
    100 xp
    Window function SQL
    50 xp
    Running sums using window function SQL
    100 xp
    Fix the broken query
    100 xp
    Dot notation and SQL
    50 xp
    Aggregation, step by step
    100 xp
    Aggregating the same column twice
    100 xp
    Aggregate dot SQL
    100 xp
    Convert window function from dot notation to SQL
    100 xp
  2. 3

    Caching, Logging, and the Spark UI

    In the previous chapters you learned how to use the expressiveness of window function SQL. However, this expressiveness now makes it important that you understand how to properly cache dataframes and cache SQL tables. It is also important to know how to evaluate your application. You learn how to do do this using the Spark UI. You'll also learn a best practice for logging in Spark. Spark SQL brings with it another useful tool for tuning query performance issues, the query execution plan. You will learn how to use the execution plan for evaluating the provenance of a dataframe.

    Play Chapter Now
  3. 4

    Text Classification

    Previous chapters provided you with the tools for loading raw text, tokenizing it, and extracting word sequences. This is already very useful for analysis, but it is also useful for machine learning. What you've learned now comes together by using logistic regression to classify text. By the conclusion of this chapter, you will have loaded raw natural language text data and used it to train a text classifier.

    Play Chapter Now


Sherlock (parquet file)Sherlock (txt file)Train schedule


Hadrien Lacroix
Hillary Green-Lerman
Mark Plutowski Headshot

Mark Plutowski

Big Data Architect & Scientist @ Flipboard

Mark Plutowski received his PhD in Computer Science from UCSD with emphasis in machine learning and econometrics. He holds 29 published patents, has been working with cloud apis and hadoop ecosystem for over ten years, and has been involved with hundreds of interviews.
See More

What do other learners have to say?

Join over 10 million learners and start Introduction to Spark SQL in Python today!

Create Your Free Account



By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.