Taming Big Data with Apache Spark and Python – Hands On!
New! Updated for Spark 2.0.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.
Learn and master the art of framing data analysis problems as Spark problems through over 15 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
Develop and run Spark jobs quickly using Python
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
Learn about other Spark technologies, like Spark SQL, 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.
This course uses the familiar Python programming language; if you’d rather use Scala to get the best performance out of Spark, see my “Apache Spark with Scala – Hands On with Big Data” course instead.
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 The Incredible Hulk? 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. 5 hours of video content is included, with over 15 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.
Enjoy the course!
What are the requirements?
Access to a personal computer. This course uses Windows, but the sample code will work fine on Linux as well.
Some prior programming or scripting experience. Python experience will help a lot, but you can pick it up as we go.
What am I going to get from this course?
Frame big data analysis problems as Spark problems
Use Amazon’s Elastic MapReduce service to run your job on a cluster with Hadoop YARN
Install and run Apache Spark on a desktop computer or on a cluster
Use Spark’s Resilient Distributed Datasets to process and analyze large data sets across many CPU’s
Implement iterative algorithms such as breadth-first-search using Spark
Use the MLLib machine learning library to answer common data mining questions
Understand how Spark SQL lets you work with structured data
Understand how Spark Streaming lets your process continuous streams of data in real time
Tune and troubleshoot large jobs running on a cluster
Share information between nodes on a Spark cluster using broadcast variables and accumulators
Understand how the GraphX library helps with network analysis problems
What is the target audience?
People with some software development background who want to learn the hottest technology in big data analysis will want to check this out. This course focuses on Spark from a software development standpoint; we introduce some machine learning and data mining concepts along the way, but that’s not the focus. If you want to learn how to use Spark to carve up huge datasets and extract meaning from them, then this course is for you.
If you’ve never written a computer program or a script before, this course isn’t for you – yet. I suggest starting with a Python course first, if programming is new to you.
If your software development job involves, or will involve, processing large amounts of data, you need to know about Spark.
If you’re training for a new career in data science or big data, Spark is an important part of it.
|Section 1: Getting Started with Spark|
How to Use This Course
[Activity]Getting Set Up: Installing Python, a JDK, Spark, and its Dependencies.
[Activity] Installing the MovieLens Movie Rating Dataset
[Activity] Run your first Spark program! Ratings histogram example.
|Section 2: Spark Basics and Simple Examples|
Introduction to Spark
The Resilient Distributed Dataset (RDD)
Ratings Histogram Walkthrough
Key/Value RDD’s, and the Average Friends by Age Example
[Activity] Running the Average Friends by Age Example
Filtering RDD’s, and the Minimum Temperature by Location Example
[Activity]Running the Minimum Temperature Example, and Modifying it for Maximums
[Activity] Running the Maximum Temperature by Location Example
[Activity] Counting Word Occurrences using flatmap()
[Activity] Improving the Word Count Script with Regular Expressions
[Activity] Sorting the Word Count Results
[Exercise] Find the Total Amount Spent by Customer
[Excercise] Check your Results, and Now Sort them by Total Amount Spent.
Check Your Sorted Implementation and Results Against Mine.
|Section 3: Advanced Examples of Spark Programs|
[Activity] Find the Most Popular Movie
[Activity] Use Broadcast Variables to Display Movie Names Instead of ID Numbers
Find the Most Popular Superhero in a Social Graph
[Activity] Run the Script – Discover Who the Most Popular Superhero is!
Superhero Degrees of Separation: Introducing Breadth-First Search
Superhero Degrees of Separation: Accumulators, and Implementing BFS in Spark
[Activity] Superhero Degrees of Separation: Review the Code and Run it
Item-Based Collaborative Filtering in Spark, cache(), and persist()
[Activity] Running the Similar Movies Script using Spark’s Cluster Manager
[Exercise] Improve the Quality of Similar Movies
|Section 4: Running Spark on a Cluster|
Introducing Elastic MapReduce
[Activity] Setting up your AWS / Elastic MapReduce Account and Setting Up PuTTY
Create Similar Movies from One Million Ratings – Part 1
[Activity] Create Similar Movies from One Million Ratings – Part 2
Create Similar Movies from One Million Ratings – Part 3
Troubleshooting Spark on a Cluster
More Troubleshooting, and Managing Dependencies
|Section 5: SparkSQL, DataFrames, and DataSets|
Executing SQL commands and SQL-style functions on a DataFrame
Using DataFrames instead of RDD’s
|Section 6: Other Spark Technologies and Libraries|
[Activity] Using MLLib to Produce Movie Recommendations
Analyzing the ALS Recommendations Results
Using DataFrames with MLLib
Spark Streaming and GraphX
|Section 7: You Made It! Where to Go from Here.|
Learning More about Spark and Data Science
Bonus Lecture: Discounts on my other courses!
Frank Kane, Data Miner and Software Engineer
Frank Kane 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.
- Lectures 0
- Quizzes 0
- Duration 50 hours
- Skill level All level
- Language English
- Students 7229
- Assessments Self