O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Scalable programming with Scala and Spark

Video Description

Use Scala and Spark for data analysis, machine learning and analytics

About This Video

  • Music Recommendations using Alternating Least Squares and the Audioscrobbler dataset
  • Dataframes and Spark SQL to work with Twitter data
  • Using the PageRank algorithm with Google web graph dataset
  • Using Spark Streaming for stream processing
  • Working with graph data using the Marvel Social network dataset
  • Resilient Distributed Datasets, Transformations (map, filter, flatMap), Actions (reduce, aggregate)
  • Pair RDDs , reduceByKey, combineByKey
  • Broadcast and Accumulator variables
  • Spark for MapReduce
  • The Java API for Spark
  • Spark SQL, Spark Streaming, MLlib and GraphX

In Detail

Get your data to fly using Spark and Scala for analytics, machine learning, and data science. Let’s parse that. What's Spark? If you are an analyst or a data scientist, you're used to having multiple systems for working with data. SQL, Python, R, Java, etc. With Spark, you have a single engine where you can explore and play with large amounts of data, run machine learning algorithms and then use the same system to productionize your code. Scala: Scala is a general-purpose programming language - like Java or C++. Its functional programming nature and the availability of a REPL environment make it particularly suited for a distributed computing framework like Spark.

Analytics: Using Spark and Scala you can analyze and explore your data in an interactive environment with fast feedback. The course will show how to leverage the power of RDDs and Dataframes to manipulate data with ease.

Machine Learning and Data Science: Spark's core functionality and built-in libraries make it easy to implement complex algorithms like Recommendations with very few lines of code. We'll cover a variety of datasets and algorithms including PageRank, MapReduce and Graph datasets.

Table of Contents

  1. Chapter 1 : You, This Course and Us
    1. You, This Course and Us 00:02:17
    2. Installing Scala and Hello World 00:09:43
  2. Chapter 2 : Introduction to Spark
    1. What does Donald Rumsfeld have to do with data analysis? 00:08:46
    2. Why is Spark so cool? 00:12:23
    3. An introduction to RDDs - Resilient Distributed Datasets 00:09:39
    4. Built-in libraries for Spark 00:15:38
    5. Installing Spark 00:11:44
    6. The Spark Shell 00:06:55
    7. See it in Action: Munging Airlines Data with Spark 00:03:44
    8. Transformations and Actions 00:17:06
  3. Chapter 3 : Resilient Distributed Datasets
    1. RDD Characteristics: Partitions and Immutability 00:12:35
    2. RDD Characteristics: Lineage, RDDs know where they came from 00:06:06
    3. What can you do with RDDs? 00:11:09
    4. Create your first RDD from a file 00:14:55
    5. Average distance travelled by a flight using map () and reduce () operations 00:06:59
    6. Get delayed flights using filter (), cache data using persist () 00:06:11
    7. Average flight delay in one-step using aggregate () 00:12:21
    8. Frequency histogram of delays using countByValue () 00:02:10
  4. Chapter 4 : Advanced RDDs: Pair Resilient Distributed Datasets
    1. Special Transformations and Actions 00:14:45
    2. Average delay per airport, use reduceByKey(), mapValues() and join() 00:13:35
    3. Average delay per airport in one step using combineByKey() 00:08:24
    4. Get the top airports by delay using sortBy() 00:02:52
    5. Lookup airport descriptions using lookup(), collectAsMap(), broadcast() 00:10:57
  5. Chapter 5 : Advanced Spark: Accumulators, Spark Submit, MapReduce, Behind the Scenes
    1. Get information from individual processing nodes using accumulators 00:09:26
    2. Long running programs using spark-submit 00:07:11
    3. Spark-Submit with Scala - A demo 00:06:10
    4. Behind the scenes: What happens when a Spark script runs? 00:14:30
    5. Running MapReduce operations 00:10:53
  6. Chapter 6 : PageRank: Ranking Search Results
    1. What is PageRank? 00:16:44
    2. The PageRank algorithm 00:06:15
    3. Implement PageRank in Spark 00:09:45
    4. Join optimization in PageRank using Custom partitioning 00:06:29
  7. Chapter 7 : Spark SQL
    1. Data frames: RDDs + Tables 00:15:48
  8. Chapter 8 : MLlib in Spark: Build a recommendations engine
    1. Collaborative filtering algorithms 00:12:20
    2. Latent Factor Analysis with the Alternating Least Squares method 00:11:40
    3. Music recommendations using the Audioscrobbler dataset 00:05:38
    4. Implement code in Spark using MLlib 00:14:46
  9. Chapter 9 : Spark Streaming
    1. Introduction to streaming 00:09:55
    2. Implement stream processing in Spark using Dstreams 00:09:19
    3. Stateful transformations using sliding windows 00:08:17
  10. Chapter 10 : Graph Libraries
    1. The Marvel social network using Graphs 00:14:30
  11. Chapter 11 : Scala Language Primer
    1. Scala - A "better Java"? 00:10:13
    2. How do Classes work in Scala? 00:11:02
    3. Classes in Scala - continued 00:15:50
    4. Functions are different from Methods 00:07:31
    5. Collections in Scala 00:10:13
    6. Map, Flat map - The Functional way of looping 00:11:37
    7. First Class Functions revisited 00:08:46
    8. Partially Applied Functions 00:07:31
    9. Closures 00:08:07
    10. Currying 00:10:34
  12. Chapter 12 : Supplementary Installs
    1. Installing Intellij 00:12:43
    2. Installing Anaconda 00:09:00
    3. [For Linux/Mac OS Shell Newbies] Path and other Environment Variables 00:08:26