Перейти к содержанию

Apache Spark — Architecture Overview

  1. Driver (Master):
    1. предоставляет API через SparkSession и SparkContext;
    2. выполняет ваш код — .py или скомпилированный .jar;
    3. контролирует выполнение задачи;
  2. Workers (Executors / Slaves ):
    1. обрабатывают данные;
    2. каждый Worker работает со своим сегментом данных — Partition;
    3. не выполняют ваш код напрямую;
    4. получают задачи от Driver;
  3. Cluster Manager (YARN/Mesos):
    1. отвечает за аллокацию контейнеров, выполняющих код Driver и Workers, на кластере;
    2. квотирует ресурсы между пользователями;
    3. контролирует состояние контейнеров.

Одна партиция обрабатывается в один поток

1 Task = 1 Partition = 1 OS Thread (CPU Core)

Spark on YARN deployment modes

Источник.

Cluster Deployment Mode

Spark on YARN — Cluster Deployment Mode

Client Deployment Mode

Spark on YARN — Client Deployment Mode