Apache Spark

video locked
Enroll to watch

10 mins

Chapters
About
Discussion0
Notes
Be the first to start a conversation!

Apache Spark is a general purpose data analysis system that keeps intermediate results in memory.

The paper is from Berkeley. Before it, each system was specialised: Dremel for aggregation queries, MapReduce for batch jobs, Pregel for graph algorithms. Spark puts them under a single umbrella.

A MapReduce job runs on cheap commodity hardware that can crash:

  1. The restart. A crash restarts the entire process, which is slow.
  2. The disk. Intermediate results are stored and used during a failure. That takes disk space.
  3. The memory. Spark stores the results in memory. When a mapper fails, the output before it is resent from memory to a new mapper.
  4. The stages. No intermediate results are needed after every map job, so the functions run together in a single computer.

Spark focuses only on computation, so the cluster manager is pluggable. An operation is assigned to the computer that has its data in memory.