Scalable programming with Scala and Spark

Scalable programming with Scala and Spark

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


Out of stock


Taught by a 4 person team including 2 Stanford-educated, ex-Googlers, and 2 ex-Flipkart Lead Analysts. This team has decades of practical experience in working with Java and with billions of rows of data.

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++. It’s 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.

What’s Covered:

Scala Programming Constructs: Classes, Traits, First Class Functions, Closures, Currying, Case Classes

Lot’s of cool stuff:

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

.. and of course all the Spark basic and advanced features:

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

Mail us about anything – anything! – and we will always reply 🙂

What am I going to get from this course?

  • Use Spark for a variety of analytics and Machine Learning tasks
  • Understand functional programming constructs in Scala
  • Implement complex algorithms like PageRank or Music Recommendations
  • Work with a variety of datasets from Airline delays to Twitter, Web graphs, Social networks and Product Ratings
  • Use all the different features and libraries of Spark : RDDs, Dataframes, Spark SQL, MLlib, Spark Streaming and GraphX
  • Write code in Scala REPL environments and build Scala applications with an IDE

What is the target audience?

  • Yep! Engineers who want to use a distributed computing engine for batch or stream processing or both
  • Yep! Analysts who want to leverage Spark for analyzing interesting datasets
  • Yep! Data Scientists who want a single engine for analyzing and modelling data as well as productionizing it.
+ Show More


    All examples work with or without Hadoop. If you would like to use Spark with Hadoop, you'll need to have Hadoop installed (either in pseudo-distributed or cluster mode).

    The course assumes experience with one of the popular object-oriented programming languages like Java/C++