
Meet your instructor, and we'll review what this course will cover and what you need to get started.
How to find the scripts and data associated with the lectures in this course.
We'll install Anaconda, a JDK, and Apache Spark on your Windows system. When we're done, we'll run a simple little Spark script on your desktop to test it out!
Before we can analyze data with Spark, we need some data to analyze! Let's install the MovieLens dataset of movie ratings, which we'll use throughout the course.
We'll run a simple Spark script using Python, and analyze the 100,000 movie ratings you installed in the previous lecture. What is the breakdown of the rating scores in this data set? You'll find it's easy to find out!
Apache Spark 3 was released in early 2020 - here's what's new, what's improved, and what's deprecated.
This high-level introduction will help you understand what Spark is for, who's using it, and why it's such a big deal.
Understand the core object of Spark: the Resilient Distributed Dataset (RDD), and how you can use Spark to transform and perform actions upon RDD's.
We'll dissect our original ratings histogram Spark example, and understand exactly how every line of it works!
You'll learn how to use key/value pairs in RDD's, and special operations you can perform on them. To make it real, we'll introduce a new example: computing the average number of friends by age using a fake social network data set.
We'll take another look at our "average number of friends by age" example script, actually run it, and examine the results.
Learn how the filter() operation works on RDD's, and apply this toward finding the minimum temperatures from a real-world weather data set.
We'll look at the minimum temperatures by location example as a whole, and actually run it! Then, you've got an activity: modify this script to find the maximum temperatures instead. This lecture reinforces using filters and key/value RDD's.
Check your results for writing a maximum temperature Spark script to my own.
We'll do the standard "count the number of occurrences of each word in a book" exercise here, and review the differences between map() and flatmap() in the process.
You'll learn how to use regular expressions in Python, and use them to improve the results of our word count script.
Finally, we'll learn how to implement countByValue() in a way that returns a new RDD, and sort that RDD to produce our final results for word frequency.
Write your first Spark script on your own! I'll give you the strategy and tips you need to be successful. You're given a fake e-commerce data set, and your task is to find the total amount spent, broken down by customer ID.
Compare your code to my solution for finding the total spent by customer - and take on a new challenge! Modify your script to sort your final results by the amount spent, and find the biggest spender.
Compare your solution to sorting the customers by total amount ordered to mine, and check your results.
We'll cover the concepts of SparkSQL, DataFrames, and DataSets, and why they are so important in Spark 2.0 and above.
We'll dive into a real example, revisiting our fake social network data and analyzing it with DataFrames through a SparkSession object.
Let's revisit our "most popular movie" example, and implement it using a DataFrame instead of with RDD's. DataFrames are the preferred API in Spark 2.0+.
We'll write and run a simple script to find the most-rated movie in the MovieLens data set, which we'll build upon later.
You'll learn how to use "broadcast variables" in Spark to efficiently distribute large objects to every node your Spark program may be running on, and apply this to looking up movie names in our "most popular movie" script.
We introduce the Marvel superhero social graph data set, and write a Spark job to find the superhero with the most co-occurrences with other heroes in comic books.
Review the source code of our script to discover the most popular superhero, run it, and reveal the answer!
We'll introduce the Breadth-First Search (BFS) algorithm, and how we can use it to discover degrees of separation between superheroes.
We'll learn how to turn breadth-first search into a Spark problem, and craft our strategy for writing the code. Along the way, we'll cover Spark accumulators and how we can use them to signal our driver script when it's done.
We'll get our hands on the code to actually implement breadth-first search, and run it to discover the degrees of separation between any two superheroes!
Learn one technique for finding similar movies based on the MovieLens rating data, and how we can frame it as a Spark problem. We'll also introduce the importance of using cache() or persist() on rdd's that will have more than one action performed on them.
We'll review the code for finding similar movies in Spark with the MovieLens ratings data, run it on every available core of your desktop computer, and review the results.
Get your hands dirty! I'll give you some ideas on improving the quality of your similar movie results - go try some out, and mess around with our movie similarity code.
Learn how Amazon's Elastic MapReduce makes it easy to rent time on your very own Spark cluster, running on top of Hadoop YARN
Learn how to set up your AWS account, create a key pair for logging into your Spark / Hadoop cluster, and set up PuTTY to connect to your instances from a Windows desktop.
We'll see what needs to be done to our Movie Similarities script in order to get it to run successfully with one million ratings, on a cluster, by introducing the partitionBy() function.
We'll study the code of our modified movie similarities script, and get it ready to run on a cluster.
We'll launch a Hadoop cluster with Spark using Amazon's Elastic MapReduce service, and kick off our script to produce similar movies to Star Wars given one million movie ratings.
We'll look at our results from similar movies from one million ratings, and discuss them.
We'll look at the Spark console UI and the information it offers to help understand how to diagnose problems and optimize your large Spark jobs.
I'll share some more troubleshooting tips when running Spark on a cluster, and talk about how to manage dependencies your code may have.
We'll briefly cover the capabilities of Spark's MLLib machine learning library, and how it can help you solve data mining, machine learning, and statistical problems you may encounter. We'll go into more depth on MLLib's Alternating Least Squares (ALS) recommendation engine, and how we can use it to produce movie recommendations with the MovieLens data set.
We'll run MLLib's Alternating Least Squares recommender system on the MovieLens 100K dataset.
We'll finish running Alternating Least Squares recommendations on the MovieLens ratings data set using MLLib, and evaluate the results.
DataFrames are the preferred API for MLLib in Spark 2.0+. Let's look at an example of using linear regression with DataFrames.
An overview of how Spark Streaming lets you process continual streams on input data and aggregate it over time, and how GraphX lets you compute properties of networks.
We'll run an example of Spark structured streaming in Python to keep track of status code counts in a directory that receives Apache access logs.
GraphX isn't currently supported in Python, but you should at least know what it is.
Some suggested resources for learning more about Apache Spark, and data mining and machine learning in general.
Spark와 Python을 함께 배우는 강의!
20개 이상의 실제 예시 포함!
Spark의 기초부터 시작하여 다양한 응용까지 All in one!
Amazon 및 IMDb의 전 엔지니어이자 선임 관리자로부터 배우는 실습 위주 수업!
*프로그래밍을 처음 접한다면 수업을 진행하기 어려울 수 있습니다. Python 기초 강의를 먼저 수강하시는 것을 추천합니다*
Apache Spark 와 Python으로 빅 데이터 다루기 강의를 선택해야 하는 이유
데이터 분석 문제를 Spark로 프레이밍 하는 기술을 배우고, 20개 이상의 실습 예제를 통해서 완벽히 마스터 할 수 있습니다.
수강 후에는 몇 분만에 클라우드에서 GB 크기의 정보를 분석하는 코드를 실행 할 수 있게 됩니다.
이 강의는 친숙한 Python 프로그래밍 언어를 사용합니다.
(만약 Spark에서 최고의 성능을 얻기 위해 Scala를 사용하고 싶다면 다른 강의가 더 적합 할 수 있습니다.)
이 강의에는 재미있는 실습이 포함 되어 있습니다. Spark를 사용하여 영화 등급 데이터와 책의 텍스트를 분석하는 몇 가지 간단한 예로 시작해서 기본기를 배운 후에는, 더 복잡하고 흥미로운 작업을 진행합니다. 백만개의 영화 등급을 사용하여 서로 유사한 영화를 찾을 것이고, 이 과정에서 여러분들이 좋아할 만한 새로운 영화를 발견할 수도 있을 것입니다! 여러분은 슈퍼히어로의 사회적 그래프를 분석하고 가장 "인기 있는" 슈퍼히어로가 누구인지 배우고 슈퍼히어로 사이의 "Degree of Separation"를 찾는 시스템을 개발할 것입니다. 모든 마블 슈퍼히어로들은 스파이더맨과 얼마나 연결되어 있을까요?
이 강의를 통해 그 답을 찾을 수 있습니다.
또한, 이 강의는 실습 위주의 강의입니다. Amazon의 Elastic MapReduce 서비스를 사용하여 자체 시스템과 클라우드 모두에서 실제 코드를 함께 작성, 분석 및 실행할 때 강사와 함께 대부분의 시간을 보내게 됩니다. 7시간 분량의 영상 내용이 포함되어 있으며, 20개 이상의 실제 예시는 복잡성이 증가함에 따라 스스로 구축하고 실행하고 연구할 수 있습니다.
Apache Spark 와 Python으로 빅 데이터 다루기 세부 커리큘럼
Spark 3에서 DataFrames 및 구조적 스트리밍 사용하기
빅데이터 분석 문제를 Spark 문제로 프레임화
Amazon의 Elastic MapReduce 서비스를 사용하여 Hadoop YARN이 있는 클러스터에서 작업 실행하기
데스크톱 컴퓨터 또는 클러스터에 Apache Spark 설치 및 실행하기
Spark의 Resilient Distributed Datasets를 사용하여 많은 CPU에서 대규모 데이터 세트 처리 및 분석하기
Spark를 사용하여 너비 우선 검색과 같은 반복 알고리즘 구현하기
MLLib 머신 러닝 라이브러리를 사용하여 일반적인 데이터 마이닝 질문에 답하기
Spark SQL을 사용하여 구조화된 데이터로 작업하는 방법 이해하기
Spark Streaming을 통해 실시간으로 연속적인 데이터 스트림을 처리하는 방법 이해하기
클러스터에서 실행되는 대규모 작업 조정 및 문제 해결하기
브로드캐스트 변수와 어큐뮬레이터를 사용하여 Spark 클러스터의 노드 간에 정보 공유하기
GraphX 라이브러리가 네트워크 분석 문제에 어떻게 도움이 되는지 이해하기
Amazon 및 IMDb의 전 엔지니어이자 선임 관리자 Frank Kane 강사의 한마디!
완전히 업데이트 된 새로운 강의로 출시되었습니다!
Spark 3, 더 많은 실습, DataFrames 및 Structured Streaming에 대해 더 중점적으로 업데이트되었습니다.
Spark SQL, Spark Streaming과 같은 최신 Spark 기술과 Gradient Boosted Trees와 같은 고급 모델도 다룰 것입니다.
"빅 데이터" 분석은 아주 인기있고 매우 가치 있는 기술입니다. 이 강의는 빅 데이터에서 가장 인기 있는 기술을 알려줍니다. 바로 Apache Spark 입니다. 아마존, 이베이, NASA JPL 및 Yahoo를 포함한 고용주는 모두 Spark를 사용하여 내결함성 Hadoop 클러스터 전반에 걸쳐 방대한 데이터 세트에서 의미를 빠르게 추출합니다. 여러분은 앉은 자리에서 Windows 시스템을 사용하여 동일한 기술을 배우게 될 것인데, 이는 생각보다 어렵지 않습니다.
여러분의 일정에 따라 여러분의 속도로 진행하세요. 이 강의는 Spark SQL, Spark Streaming, GraphX를 비롯한 다른 Spark 기반 기술에 대한 개요로 마무리됩니다.
강의를 들으시고 강의와 관련하여 궁금하신 점은 무엇이든 Q&A에 남기실 수 있지만, 꼭 영어로 남겨주세요. 그래야 답변을 드릴 수 있습니다. :)
Apache Spark로 빅 데이터를 처리하는 것은 오늘날의 기술 세계에서 중요한 기술입니다. 지금 등록하고 이 강의를 즐겨보시기를 바랍니다!
-Frank
P.S. 제 강의에 대한 한 수강생의 리뷰를 소개해 드립니다:
" Frank Kane과 함께 "Apache Spark 및 Python으로 빅 데이터 다루기"를 공부 했습니다. 제 회사에서 서비스를 위한 빅 데이터 플랫폼을 구축하는데 큰 도움이 되었으며, 이 강의를 추천합니다! " - Cleuton Sampaio De Melo Jr.