What you'll learn
Getting Started + Spark Basics
Reduction Operations & Distributed Key-Value Pairs
Partitioning and Shuffling
Structured data: SQL, Dataframes, and Datasets
Description
Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we’ll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout. We’ll cover Spark’s programming model in detail, being careful to understand how and when it differs from familiar programming models, like shared-memory parallel collections or sequential Scala collections.
Through hands-on examples in Spark and Scala, we’ll learn when important issues related to distribution like latency and network communication should be considered and how they can be addressed effectively for improved performance. Learning Outcomes. By the end of this course you will be able to: – read data from persistent storage and load it into Apache Spark, – manipulate data with Spark and Scala, – express algorithms for data analysis in a functional style, – recognize how to avoid shuffles and recomputation in Spark, Recommended background: You should have at least one year programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. You should have some familiarity using the command line.
Requirements
Access to a computer or mobile device with an internet connection.
Motivation to learn!
There are no special materials or prerequisite knowledge required for this course.
Who this course is for
Students who are new to this field
Students willing to put in a couple hours to learn about Big Data Analysis with Scala and Spark
Advanced students wanting to add another skill to their portfolio
Content Creator
Prof. Heather Miller – Assistant Professor – Carnegie Mellon University
This course includes
Participation Confirmation/Certificate
Option for learning at your own pace
Videos and reading material about the course
Practice tests
Assessed tasks with feedback from other course participants
Evaluated tests with feedback
Evaluated programming tasks