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 Free4 Hours15 Videos52 Exercises11,573 Learners4200 XP
Create Your Free Account
or
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
Pyspark SQL
FreeIn 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.
Creating and querying a SQL table in Spark50 xpCreate a SQL table from a dataframe100 xpDetermine the column names of a table100 xpWindow function SQL50 xpRunning sums using window function SQL100 xpFix the broken query100 xpDot notation and SQL50 xpAggregation, step by step100 xpAggregating the same column twice100 xpAggregate dot SQL100 xpConvert window function from dot notation to SQL100 xp - 2
Using window function sql for natural language processing
In this chapter you will be loading natural language text. Then you will apply a moving window analysis to find frequent word sequences.
Loading natural language text50 xpLoading a dataframe from a parquet file100 xpSplit and explode a text column100 xpUsing monotonically_increasing_id()50 xpMoving window analysis50 xpCreating context window feature data100 xpRepartitioning the data100 xpCommon word sequences50 xpWhat type of data is this50 xpFinding common word sequences100 xpUnique 5-tuples in sorted order100 xpMost frequent 3-tuples per chapter100 xp - 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.
Caching50 xpPractice query plans 225 xpPracticing caching: part 1100 xpPracticing caching: the SQL100 xpPracticing caching: putting it all together50 xpCaching and uncaching tables100 xpThe Spark UI50 xpSpark UI storage tab50 xpInspecting cache in the Spark UI50 xpLogging50 xpPractice logging100 xpPractice logging 2100 xpQuery plans50 xpPractice query plans100 xpPractice reading query plans 2100 xp - 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.
Extract Transform Select50 xpPracticing creating a UDF100 xpPracticing array column100 xpCreating feature data for classification50 xpCreating a UDF for vector data100 xpApplying a UDF to vector data100 xpTransforming text to vector format100 xpText Classification50 xpLabel the data100 xpSplit the data100 xpTrain the classifier100 xpPredicting and evaluating50 xpEvaluate the classifier100 xpPredict test data100 xpRecap50 xp
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.
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
Join over 9 million learners and start Introduction to Spark SQL in Python today!
Create Your Free Account
or
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).