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

4.7
stars
2,429 ratings
503 reviews

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: https://www.coursera.org/learn/parprog1....

Top reviews

BP
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.

CC
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!

Filter by:

426 - 450 of 487 Reviews for Big Data Analysis with Scala and Spark

By Yuan R

Jan 20, 2018

Great course that is very practical for the job.

By Guillermo G H

Jun 30, 2017

Great approach to learn about Spark in practice

By Michaël M P

Feb 5, 2019

Talk about how to set Scala version in Eclipse

By 林鼎棋

May 29, 2017

Great! But I want to know more about dataset!

By VeeraVenkataSatyanarayana M

Jun 4, 2017

Basics are covered in an effective way.

By Pavel O

Aug 12, 2017

Good final course for Scala learners.

By Lucas F

May 15, 2017

Great lectures and great content!

By Роман В

Jun 24, 2018

I would like to learn some more.

By Hoon P

Apr 18, 2017

Learned Spark APIs, internals.

By Alberto P d P

May 12, 2017

Very good and concise course.

By Stéphane L

Oct 13, 2017

Very useful

By Srinivasu N

May 15, 2020

good

By Devaraja K R

Nov 14, 2018

Good

By Jim N

Apr 12, 2017

I understand that creating such a course is a tremendous amount of work. Let me congratulation the developers for all their hard work. I learned a lot. I'm glad I good the course, and I'm speechless that I finally finished it with a passing albeit imperfect score. This was the maiden voyage and it has some problems that should probably be corrected. That's my opinion.

There were generally two sets of challenges with each assignment exercise (1) undemanding the scala/big-data component, and (2) understand what's being asked. Sometimes the comment in the code are wrong or misleading. In particular in the 2nd set of exercises. The functions are very poorly specified, and there are no unit tests. there should be one or the other. Without a specification the user cannot write his own tests. In addition the 2nd exercise is intended to be do-able, but not efficiently until the user views week 3's videos. Because of this the text output is EXTREMELY verbose, making it impossible to read the error messages and understand them. When the user finally submits the assignment it fails and the grader gives misleading error messages. A failing unit test should at the very least explain what the test was, what the measured value was, and what was expected. This is especially true when the user is forbidden from looking at the actual testing code. An additional problem with exercise 2, is that the student is asked to calculate a particular percentage, but it is not explained what this is a percentage OF and there are several ways to interpret it. I didn't realize until wasting 2 weeks that there was an alternate interpretation which I could try.

In the 3rd exercise some of the comments in the code are wrong/misleading. Particularly with regard to classifiedColumns. comment #3 should read:* 3. other activities (leisure). These are the columns starting with “t02”, “t04”, “t06”, “t07”, “t08”, “t09”, “t10”, “t12”, “t13”, “t14”, “t15”, “t16” and “t18” BUT EXCLUDING those which are not part of the previous groups only. Otherwise the sentence is at best grammatically incorrect, and at worst misleading.

Another significant issue with this "Bit Data" course is that it assumes a user understands data base and can construct sql queries. Well, such background is not a prerequisite, but the student needs such information to successfully finish the exercises. I can understand the temptation by the course developers to include a section on SQLspark, as this is a very powerful set of spark libraries, but I believe it is beyond the prerequisites. I could not have finished the course if I hadn't had an SQL/data-base expert in the same office, who I could pose questions to.

I hope you find my comments useful.

By Giovanni F

Feb 20, 2021

The actual lectures are very very good: substantial; clear and linear; very good graphics; adequate peace; good combination of clear slides and hands use to highlighting.

The main weak part of this course is the technical setup to do the exercises. It's a rather complex preparation, to be done following instructions which are largely outdated. Therefore lots of googling, looking the forum, trial and error: it took a lot of time for a painful experience I've learnt nearly nothing from. And the considerable complexity of setting up the local infrastructure only grants a limited and basic spark configuration (with no real scale out beyond the number of cpu's), therefore it's no beneficial in any way.

It would be much more instructive if the exercise could be worked out on an existing could Spark installation, where one could also have a sense of how the Spark capabilities can scale out.

Lastly, the splitting of material by weeks: for weeks 1,2 and 4 the exercises appeared as being assigned twice. Unclear why that is. I ignore and somehow the duplication and somehow got the certificate.

A second week point (though less pronounced) applies only if you follow this course w/o following the course others in the speciality: the required knowledge of Scala. I had never done Scala before and found that in the course description the importance of knowing the language is downplayed. It's true that some OO prior experience, common sense and patience one can get a lot out of this course, using inference and intuition (and google) about Scala.

By Harold O

Apr 16, 2017

This is a really excellent course. It deals with difficult content clearly, thoroughly and at a good pace. I would now be happy to use Spark in my work and feel I have a strong base to go on to further study. The exercises are well conceived covering fairly realistic use cases and are of about the right complexity. BUT, the feedback from the automatic grading really lets it down.

The auto grading tests are at too high a granularity, each test tests too many things. They give cryptic errors such as '<some random element> is empty'. You have no idea why the element is empty as the students are given a different dataset to the one tested on. Moreover, the failed tests are invariably nothing to do with learnt course content, but trivial rounding/formatting errors. The forums are a lifesaver, but I still spent a good two weekends working on bugs once I'd got the assignments 70% right. I would not recommend to a completist!

All the same, thanks to Heather for the wonderful work she's done putting it together and the excellent lectures she gives.

By Tom C

Apr 5, 2017

Good information, but a little rough around the edges, possibly due to being its first time out of the gate. Should be amplified with additional weeks of topics, e.g. on Spark Streaming, etc.

The Grader often returns opaque errors ("The Grader Failed"), when the actual problem was that the program ran out of memory or out of disk space. Grader can reject solutions, e.g. on the last assignment, if the programmer uses a different rounder implementation that returns subtly-different results, though the results print out as the same to the rounded degree of precision.

The Grader should be written to accept results that are "acceptably close" to the desired result, e.g. if the desired result is 34.1, to accept perhaps numbers between 34.099 and 34.101 -- perhaps consult with other course-runners for best practices here.

It might be helpful if the course provided a quick intro to running the assignments on DataBricks.

Good first effort.

By Alexei M

Apr 19, 2017

The selection of content is very good. Yet, the course requires solid amount of polishing. I had a feeling that the real teaching started only in the 4th week, with lots of walking around the subject in the beginning. Worth to mention that in contrast to the first 3 courses in Scala specialisation this one is very heavy on visual aspect. You actually have to see the picture, as the voice channel just references it.

I can certainly recommend this course to people curious about data analysis. If you have had some experience and would like to try Spark or get better at it, then probably a good book can save your time.

By Sam Z

May 3, 2017

good: the concepts and on-hands skills taught by the course are good.

bad: the assignments. you cannot complete them just by following the course material, forcing you to waste quite a lot of time either: (1) learning from other sources; (2) looking for answers on the forum; or (3) brute forcing an answer till rage quitting :)

another bad point: the course is supposed to be focused on spark & big data analysis but it has 1-2 lectures (around 40-60 mins) pretty much devoted to showing some SQL. << this could be summarized to around 10-20 mins and/or give a link to quickly learn/try to some other source.

By Horia R

Apr 5, 2017

The course was interesting but it was clear that it is the first iteration. The course seems rushed, there are not very clear explanations on certain areas. Mostly, I had problems completing the assignments based on what I've learned during the lectures.

The previous courses had difficult assignments and you had to think about how you wanted to do something, here the problem was using the Spark API and understanding things which weren't explained in the lectures. Also, not all the areas of the assignments were described.

I am sure the course will become better in time.

By Allen S

Jul 11, 2017

It's a good course with still some room for improvement. Some lectures are too long and lack dynamism. The code of the assignments is surprisingly un-Scala-ish (var and for loops) for a Scala Specialisation course.

On the plus side we get a very good understanding of the basics of the Spark engine, the different APIs and the SQL module with hands on practice and a forum, all the benefits of a Coursera MOOC.

It's a good start for those who want to learn about Spark with Scala.

By Rob S

Oct 15, 2018

Lots of good knowledge in this course. Took a star away for the second exercise, which taught me more about how to pass the second exercise than anything useful. Took a second star away for not having test coverage that helps the students. You wind up submitting and waiting for the grader to run.

Yes - I know we can write our own tests, but in a graded course like this with sometimes unclear problems the tests can make all the difference in the world.

By Luis V

Sep 30, 2017

Good course but with many outdated concepts (mostly valid for Spark 1.x) and some pitfalls. Need many improvements, actualization and some reshaping in the distribution of the topics and sessions of the course. The topics left for the last week are some of the most important and central in current Spark 2.x and they include at least as many fundamental concepts as the rest of the course.

By Jeff B

Jul 5, 2017

The course content is fine, I did learn about Spark and how to work with it in Scala. The only disappointing thing is the homework assignments all use Spark in local mode, so it runs only on my laptop. I really wanted to see an assignment run in a real cluster, for real. So having some kind of cookbook recipe to follow for putting an assignment into Databricks would caus

By Vesa P

Jul 2, 2017

I learned a lot and the lectures were good.

The feedback from the automatic grader was sometimes absolutely awful. Cache an RDD in the main -> grader does not execute main -> OOM exception with no stack trace. I guess it prepares you for real life since EMR Spark also has absolutely useless log output if you go OOM.

Thank goodness for forums.