Apache Spark 3 with Scala: Hands On with Big Data!
Frank Kane, Machine Learning & Big Data, ex-Amazon
Watch this class and thousands more
Watch this class and thousands more
Lessons in This Class
-
-
1.
Introduction
1:28
-
2.
Installing the Course Materials
13:54
-
3.
Introduction to Apache Spark
14:26
-
4.
[Activity] Scala Basics
25:58
-
5.
[Exercise] Flow Control in Scala
9:28
-
6.
[Exercise] Functions in Scala
9:08
-
7.
[Exercise] Data Structures in Scala
22:28
-
8.
The Resilient Distributed Dataset
11:30
-
9.
Ratings Histogram Example
11:27
-
10.
Spark Internals
1:59
-
11.
Key / Value RDD's, and the Average Friends by Age Example
10:42
-
12.
[Activity] Running the Average Friends by Age Example
4:51
-
13.
Filtering RDD's, and the Minimum Temperature Example
5:54
-
14.
[Activity] Running the Minimum Temperature Example, and Modifying it for Maximum
11:35
-
15.
[Activity] Counting Word Occurrences using Flatmap()
5:46
-
16.
[Activity] Improving the Word Count Script with Regular Expressions
3:44
-
17.
[Activity] Sorting the Word Count Results
6:35
-
18.
[Exercise] Find the Total Amount Spent by Customer
4:30
-
19.
[Exercise] Check your Results, and Sort Them by Total Amount Spent
5:09
-
20.
Check Your Results and Implementation Against Mine
3:00
-
21.
Introduction to SparkSQL
9:44
-
22.
[Activity] Using SparkSQL
7:05
-
23.
[Activity] Using DataSets
8:33
-
24.
[Exercise] Implement the "Friends by Age" example using DataSets
2:40
-
25.
Exercise Solution: Friends by Age, with Datasets.
7:22
-
26.
[Activity] Word Count example, using Datasets
10:37
-
27.
[Activity] Revisiting the Minimum Temperature example, with Datasets
9:00
-
28.
[Exercise] Implement the "Total Spent by Customer" problem with Datasets
2:10
-
29.
Exercise Solution: Total Spent by Customer with Datasets
6:28
-
30.
[Activity] Find the Most Popular Movie
5:24
-
31.
[Activity] Use Broadcast Variables to Display Movie Names
11:19
-
32.
[Activity] Find the Most Popular Superhero in a Social Graph
12:18
-
33.
[Exercise] Find the Most Obscure Superheroes
5:14
-
34.
Exercise Solution: Find the Most Obscure Superheroes
6:44
-
35.
Superhero Degrees of Separation: Introducing Breadth-First Search
7:14
-
36.
Superhero Degrees of Separation: Accumulators, and Implementing BFS in Spark
7:59
-
37.
[Activity] Superhero Degrees of Separation: Review the code, and run it!
12:55
-
38.
Item-Based Collaborative Filtering in Spark, cache(), and persist()
7:59
-
39.
[Activity] Running the Similar Movies Script using Spark's Cluster Manager
14:48
-
40.
[Exercise] Improve the Quality of Similar Movies
3:54
-
41.
[Activity] Using spark-submit to run Spark driver scripts
11:43
-
42.
[Activity] Packaging driver scripts with SBT
15:06
-
43.
[Exercise] Package a Script with SBT and Run it Locally with spark-submit
2:04
-
44.
Exercise solution: Using SBT and spark-submit
9:04
-
45.
Introducing Amazon Elastic MapReduce
7:11
-
46.
Creating Similar Movies from One Million Ratings on EMR
11:33
-
47.
Partitioning
4:18
-
48.
Best Practices for Running on a Cluster
6:25
-
49.
Troubleshooting, and Managing Dependencies
10:59
-
50.
Introducing MLLib
9:55
-
51.
[Activity] Using MLLib to Produce Movie Recommendations
12:42
-
52.
Linear Regression with MLLib
6:58
-
53.
[Activity] Running a Linear Regression with Spark
7:47
-
54.
[Exercise] Predict Real Estate Values with Decision Trees in Spark
4:56
-
55.
Exercise Solution: Predicting Real Estate with Decision Trees in Spark
5:47
-
56.
The DStream API for Spark Streaming
11:28
-
57.
[Activity] Real-time Monitoring of the Most Popular Hashtags on Twitter
8:51
-
58.
Structured Streaming
4:03
-
59.
[Activity] Using Structured Streaming for real-time log analysis
5:33
-
60.
[Exercise] Windowed Operations with Structured Streaming
6:04
-
61.
Exercise Solution: Top URL's in a 30-second Window
5:44
-
62.
GraphX, Pregel, and Breadth-First-Search with Pregel.
6:51
-
63.
Using the Pregel API with Spark GraphX
4:29
-
64.
[Activity] Superhero Degrees of Separation using GraphX
7:07
-
-
- --
- Beginner level
- Intermediate level
- Advanced level
- All levels
Community Generated
The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.
600
Students
--
Projects
About This Class
New! Updated for Spark 3.0!
“Big data" analysis is a hot and highly valuable skill – and this course will teach you the hottest technology in big data: Apache Spark. Employers including Amazon, EBay, NASA JPL, and Yahoo all use Spark to quickly extract meaning from massive data sets across a fault-tolerant Hadoop cluster. You'll learn those same techniques, using your own Windows system right at home. It's easier than you might think, and you'll be learning from an ex-engineer and senior manager from Amazon and IMDb.
Spark works best when using the Scala programming language, and this course includes a crash-course in Scala to get you up to speed quickly. For those more familiar with Python however, a Python version of this class is also available: "Taming Big Data with Apache Spark and Python - Hands On".
Learn and master the art of framing data analysis problems as Spark problems through over 20 hands-on examples, and then scale them up to run on cloud computing services in this course.
-
Learn the concepts of Spark's Resilient Distributed Datastores
-
Get a crash course in the Scala programming language
-
Develop and run Spark jobs quickly using Scala
-
Translate complex analysis problems into iterative or multi-stage Spark scripts
-
Scale up to larger data sets using Amazon's Elastic MapReduce service
-
Understand how Hadoop YARN distributes Spark across computing clusters
-
Practice using other Spark technologies, like Spark SQL, DataFrames, DataSets, Spark Streaming, and GraphX
By the end of this course, you'll be running code that analyzes gigabytes worth of information – in the cloud – in a matter of minutes.
We'll have some fun along the way. You'll get warmed up with some simple examples of using Spark to analyze movie ratings data and text in a book. Once you've got the basics under your belt, we'll move to some more complex and interesting tasks. We'll use a million movie ratings to find movies that are similar to each other, and you might even discover some new movies you might like in the process! We'll analyze a social graph of superheroes, and learn who the most “popular" superhero is – and develop a system to find “degrees of separation" between superheroes. Are all Marvel superheroes within a few degrees of being connected to SpiderMan? You'll find the answer.
This course is very hands-on; you'll spend most of your time following along with the instructor as we write, analyze, and run real code together – both on your own system, and in the cloud using Amazon's Elastic MapReduce service. 7.5 hours of video content is included, with over 20 real examples of increasing complexity you can build, run and study yourself. Move through them at your own pace, on your own schedule. The course wraps up with an overview of other Spark-based technologies, including Spark SQL, Spark Streaming, and GraphX.
Enroll now, and enjoy the course!
"I studied Spark for the first time using Frank's course "Apache Spark 2 with Scala - Hands On with Big Data!". It was a great starting point for me, gaining knowledge in Scala and most importantly practical examples of Spark applications. It gave me an understanding of all the relevant Spark core concepts, RDDs, Dataframes & Datasets, Spark Streaming, AWS EMR. Within a few months of completion, I used the knowledge gained from the course to propose in my current company to work primarily on Spark applications. Since then I have continued to work with Spark. I would highly recommend any of Franks courses as he simplifies concepts well and his teaching manner is easy to follow and continue with! " - Joey Faherty
Meet Your Teacher
Frank spent 9 years at Amazon and IMDb, developing and managing the technology that automatically delivers product and movie recommendations to hundreds of millions of customers, all the time. Frank holds 17 issued patents in the fields of distributed computing, data mining, and machine learning. In 2012, Frank left to start his own successful company, Sundog Software, which focuses on virtual reality environment technology, and teaching others about big data analysis.
See full profileHands-on Class Project
This class is full of many interesting hands-on activities, involving the analysis of movie ratings and connections between superheroes! But here's one more challenge you can try after completing the course:
Write a Spark script that analyzes the one-million-rating dataset from MovieLens we used in the course. Let's figure out what the worst movie ever made was!
But, we don't want a movie that only has one rating, which happens to be one star, to be the "winner." Start by producing a list of the movies sorted by average rating, which isn't hard - but then sort that list by the number of ratings, so that movies that have a bad rating and also a large number of ratings are the ones that show up first.
You'll probably still need to scroll past a lot of spurious 1-star results, however - so next, implement a filter that removes any movies that have fewer than, say, 10 ratings. That should filter out obscure films that we just don't have enough data for. 10 is an arbitrary cutoff; you may find yourself playing with that number.
You'll also face the challenge of the output being split up across the various cores that are processing this data. You can try just using "local" instead of "local[*]" to get around that, but it would be even better to devise a way to merge the results together - either with a script, or by keeping track of a global "winner" with a broadcast variable.
What looks to be the worst movie ever?
Class Ratings
Why Join Skillshare?
Take award-winning Skillshare Original Classes
Each class has short lessons, hands-on projects
Your membership supports Skillshare teachers