Dynamic Allocation of Executors

Apache Spark 2 / Spark Core

Yammer: AML Spark Training Class

Agenda

  1. Spark Architecture
  2. Dynamic Allocation of Executors
  3. Dynamic Allocation Demo

Spark Architecture

  1. Driver is a JVM process that hosts SparkContext for a Spark application
  2. Executor is a distributed agent that executes Spark tasks
  3. Master and Slaves / Workers
  4. Switch to Mastering Apache Spark 2

Dynamic Allocation of Executors

  1. Dynamic Allocation is a Spark feature that allows for adding or removing executors dynamically based on the workload
  2. Switch to Mastering Apache Spark 2

Dynamic Allocation Demo - run-example

  1. Spark on YARN with YARN-specific ExternalShuffleService
  2. run-example is spark-submit to run Spark examples, e.g. SparkPi
  3. web UI's Timeline
  4. Switch to Mastering Apache Spark 2

Dynamic Allocation Demo - spark-shell

  1. Programmable Dynamic Allocation in spark-shell
  2. Switch to Mastering Apache Spark 2

Recap

  1. Spark Architecture
  2. Dynamic Allocation of Executors
  3. Dynamic Allocation Demo

Questions?