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 Exercises11,360 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. You confirm you are at least 16 years old (13 if you are an authorized Classrooms user).

Loved by learners at thousands of companies

Course Description

You're familiar with SQL, and have heard great things about Apache Spark. Then this course is for you! Apache Spark is a computing framework for processing big data. Spark SQL is a component of Apache Spark that works with tabular data. Window functions are an advanced feature of SQL that take Spark to a new level of usefulness. You will use Spark SQL to analyze time series. You will extract the most common sequences of words from a text document. You will create feature sets from natural language text and use them to predict the last word in a sentence using logistic regression. Spark combines the power of distributed computing with the ease of use of Python and SQL. The course uses a natural language text dataset that is easy to understand. Sentences are sequences of words. Window functions are very suitable for manipulating sequence data. The same techniques taught here can be applied to sequences of song identifiers, video ids, or podcast ids. Exercises include discovering frequent word sequences, and converting word sequences into machine learning feature set data for training a text classifier.

  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-d4e73b49-bc29-46b7-a485-2f598f38e3b9Hadrien Lacroixhillary-green-lermanHillary 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?

I've used other sites—Coursera, Udacity, things like that—but DataCamp's been the one that I've stuck with.

Devon Edwards Joseph
Lloyds Banking Group

DataCamp is the top resource I recommend for learning data science.

Louis Maiden
Harvard Business School

DataCamp is by far my favorite website to learn from.

Ronald Bowers
Decision Science Analytics, USAA