Chevron Left
Back to Big Data Analysis with Scala and Spark

Learner Reviews & Feedback for Big Data Analysis with Scala and Spark by École Polytechnique Fédérale de Lausanne

2,584 ratings

About the Course

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. This course is intended to be taken after Parallel Programming:

Top reviews


Jun 7, 2017

The sessions where clearly explained and focused. Some of the exercises contained slightly confusing hints and information, but I'm sure those mistakes will be ironed out in future iterations. Thanks!


Nov 28, 2019

Excellent overview of Spark, including exercises that solidify what you learn during the lectures. The development environment setup tutorials were also very helpful, as I had not yet worked with sbt.

Filter by:

1 - 25 of 509 Reviews for Big Data Analysis with Scala and Spark

By Rodion G

Apr 15, 2019

Course is good to have some practice in spark and scala. However it seems to be long forsaken by staff and some issues with assignments require doing archaeology in the forums. Also it is quite unpleasant to see that while specialization emphasizes functional programming, some auxiliary code in assignments is written in the worst manner of imperative programming... Why use scala then?

By Luiz C

Jan 27, 2019

If you know the subject, may be easy. If you don't know the subject, too dense and abstract with not enough practical examples/exercises before the assignments (specially for week4). Would have been better to break the videos into smaller ones, include more practical concrete examples/exercises during the videos (as very well done by Pr. Obersky during the 1st Course of the Specialization). There could have been room to break week4 into material for 2 weeks. Still, inresting.

By Miguel A

Nov 19, 2021

Let me start by saying that the content and the assingments are interesting and give good information. The reason I'm giving it a low score is because it's evident that this course has been abandoned by the staff (and they never payed much attention to it to begin with). First, the videos are blurry from the overlay of slides and recording, they also contain mistakes that are fixed while the instructor goes through them. They are videos and it looks like it's been 5-6 years since they were recorded, definitely time enough to fix those things. But my main problem are the assignments: They use really old versions of java, scala and spark, which leaves students trying to find workarounds to install and use these old versions. Sometime the code doesn't match what the assignment is showing. The answers in the forums are sporadic and, usually, not that helpful to begin with. All of this wouldn't bother me too much in a free course, but not only this is not a free course, it's also part of the specialization so, regardless of all the issues mentioned, students have to do it and pay for the certificate if they want to get the full specialization.

By Choy R

Apr 10, 2017

Great introduction to spark. Fun assignments. Since it was the first ever session, there were quite a few kinks with the assignments. But the discussion forums rescued me any time I was stuck.

By Sait S K

Nov 1, 2020

Grader was a bit counter productive, I have my points below;

second week k-means was a bit hard to grasp and it is not sitting on the core of this course.

last week assignment doesn't accept the answer when sorted in descending order and there is no clue it requires ascending order.

tests in the graders can be more descriptive on what is going on.

Apart from the assignment issues the flow of the course was beautiful, starting from the more primitive rdd's and going to more powerfull tools was very good in narration. Thank you for this course.

By Kuntal G

Apr 1, 2017

Very Nice and effective course. One of the best course i have done on Spark online. Many Thanks to the course instructor Heather Miller for creating a very detail and updated course on Spark.

By Evgeny K

Jul 24, 2020

a very basic and shallow introduction:

-spark dataframe usage scenarios and syntax poorly covered

-homeworks are too basic and do not prepare for real life scenarios

-lots of typos in the slides

-pdf slides are not searchable for terms

-how is this course rated 4.7 (as of 24-07-2020)?

By Stephen E R

Mar 27, 2017

A superb course taught by a superb lecturer. From a lecture stanpoint, my only recommendation is that additional lectures be provided to flesh out the coverage of Datasets. I found the assignments challenging and a good reflection on my understanding of the course material. I would recommend only the following tweaks:

Week 1 assignment: Either tightly specify the function that determines if a particular String is present in a large textstring OR provide the function in the assignment skeleton. There are too many ways to approach this function that are correct, but different than the one the grader used. This function is only incidental to the goal of applying one's knowledge of Spark to the assignment.

Week 4: Allocate additional lectures to flesh out the coverage of Datasets. The subject was not covered to the same level of detail that the other subjects in the course were given.

These are minor points.

Well done, Dr Heather Miller!

By Florian W

Apr 1, 2017

It's a great course with lots of insight into spark. At first it's confusing - first rdds; then dataframes and later datasets. But this is by no means the instructors' fault. Heather greatly describes in detail what goes on under the hood and why dataframes are way faster than simple rdds and why we have to give up some of our beloved typesafety of scala-land to let catalyst do its magic. Datasets try to bring some of it back.

I really enjoyed coding the assignments. Took me ~2hrs each. The tasks were fun and like those you would find in the wild.

I already applied some of the skills I learned here at work and successfully implemented a simple recommendation engine that will go to production next week.

Highly recommend this course!

By Adel F

Jan 7, 2018

Course is solid, useful concepts are thought. Assignments are interesting.

Points for improvement:

I wish this course was 2-3 courses focusing on topic with more assignments. If a concept is reviewed by the student is not challenged with tough questions the concept is not learned. People taking this course are already advanced enough to tackle difficult challenges, sometimes it appears that instructor assumes that students are entry level.

A note for online instructors: avoid jokes. They do not work online.

I think a specialization on applications of spark with scala covering AI, graph and text processing would be interesting. Overall thanks for the effort; pretty good.

By ciri

Jun 8, 2017

The sessions where clearly explained and focused. Some of the exercises contained slightly confusing hints and information, but I'm sure those mistakes will be ironed out in future iterations. Thanks!

By Javiera V A

Mar 13, 2022

I think the course could be very useful for an engineer, and I recommend it if you are computer science and want to become a data engineer. However, as a data analyst, I don't recommend this course because it was much more technical and difficult than I needed to know for my current use at work. For this course, you need previous knowledge of Scala or at least know another programming language. Finally, the length of the course took me much longer than 4 weeks.

By Krzysztof O

Jan 9, 2021

bad video quality, a lot of errors, very bad exercises without proper explanation

By Pavel T

Apr 5, 2017

Very interesting course. Heather presents at just right level of abstraction to my taste and her presentation is very lively so it is easy to stay focused.

Formally, this is a course on a particular set of software tools and many such courses are not very useful unless one is to start applying learned skills immdeiately because the material starts getting obsolete the day the course is passed.

I believe that this course, however, teaches important priniples that outlive the particular toolkit, in particular the art of reasoning about algorithms on distributed collections, in particular, their performance. One would expect this to be a complex subject but somehow this course makes it feel simple -- which is a good indicator of high quality.

By George Z

May 2, 2021

A good course with very nice and detailed explanations. I liked it. Two disadvantages that I found were: 1) Some theoretical knowledge of K-means and its proper usage from the previous course is required (and I didn't take previous courses. So I spent more time trying to solve this rather than the rest of the 2nd week's assignment), though it barely relates to Spark. 2) Starting from week 2 you need to write (well, not required, to be fair, you don't have to) tests by yourself. And I didn't get the idea behind it, to be honest. I think it would be much better if main tests were fully or partially provided so that I could check correctness of my code right in the IDE. Anyway, a great course, 10/10!

By Jack V

Jul 20, 2021

Pretty good overview. Could use some more fine-grained optimization exercises in Datasets. The first exam has some ambiguity and the use of imperative arrays in an otherwise functional specialization threw me off quite a bit. Some more specific unit test matching output would be much appreciated in the grader -- not the whole thing, but perhaps a different data set could be run against the student code with full expected and actual output than the one given to the students so that formatting issues could be addressed (especially on the first exam). Even as a person familiar with ML and Spark Processing, the formulation of that problem threw me for a loop.

By Shae S

Mar 23, 2017

I learned so much from this course! It was amazing how Dr. Miller used concepts that were meticulously built up in the earlier courses, such as evaluation strategy, functional collections, reactive programming, and associativity, to describe the core of Spark in only four units. As someone coming from more of a statistics background, I started this specialization only to learn Spark, so I wasn't always sure how relevant learning the more theoretical underpinnings of Scala would be. It turns out that it was pretty essential, while also just making me a better programmer. Looking forward to the capstone!

By Massimiliano D

Nov 14, 2018

Great course over Spark. It shows the syntax, but more than this, it shows the problems, the caveats, the optimization and the architecture from a wide point of view.

The assignment were designed to focus right to the point: they managed all the configuration and initialization code of the project, leaving the student to fill only the most important part, with the resulto of having, at the end of the course, working projects that could be used as "cheat sheet" to remember all the material of the course.


By Yaroslav G

Apr 8, 2020

I like the course. Very interesting and stimulating. Week 4 is a bit cumbersome, but it is due to a big amount of topics covered in it. I think that it could be better to have a DataSets and DataFrames brief overview in this course and study these topics in detail in separate advanced courses.

Assignments are designed to make us spend some time reading the docs. I think that it is good, as by doing so I have learned a bit more.

Many thanks to Prof. Heather Miller!

By Kostiantyn C

May 21, 2022

Amazing course! A lot of deep dives into technical details. Great excercises where you need to spend a lot of time and hence, will help you to improve an overall knowledge and gain more practice hours! Huge thanks to Prof. Heather MillerOpens in a new tab *Small comment of what to improve, from my perspective: the week4 task, timeusage, there were no any tests and also overall description was not totally clear, comparing to other weeks. Please improve this, if possible

By Kushagra V

Jun 13, 2017

Very nicely taught. Liked these "long" lectures of 15-20 min where the instructor gradually builds the material around the topic. Most other courses online, especially Udacity has frustratingly short videos where more than half the time the student has to keep clicking to the next video. Material coverage is sufficiently wide as well and the curriculum is freshly designed which is very important in this field.

By Joël V

May 17, 2019

The course presented the concepts in a clear and exemplified way. Tough, it was a bit too verbose.

The exercises were not too hard and thorough enough to cover the concepts presented in class.

I wished there were more exercises as Spark's API is huge and sometimes a bit tedious to use thus being hard to quickly get confident. I hope that the capstone project will help for that.

By Anna B

Mar 20, 2017

The course covers the important concepts and explains them in detail.

Homework tasks really make you think, revisit the lectures and read documentation, until you get it right, and that all deepens understanding of the material.

I also obtained some clues for the future: the lectures provided me with context, which helps formulate questions when searching for answers elsewhere.

By Hristo I

Apr 9, 2017

This is a great course on the intricacies of Apache Spark. It is not a general Big Data course, neither is it an easy one. Doing the programming assignments properly requires reading a lot trough the Spark documentation, which I personally liked as part of the challenge, but beware if you are not that type of person or aim at finishing the course as quickly as possible.

By Hessam S M

Mar 25, 2018

Excellent course. I had some knowledge about Spark before but this course helped me to leverage my skills from pure theory to something practical. Now I have the confidence I can use spark to solve real life problems. This specialization as a whole is totally changing my career prospect. Thank you EPFL, Dr. Miller and Coursera for providing such opportunity for me.