Spark. Архитектура

Компоненты архитектуры Spark:

  1. Driver Program: Контролирует выполнение задачи, управляет распределением данных и выполняет координацию с рабочими узлами.
  2. Cluster Manager: Управляет ресурсами кластера и распределением вычислительных задач (например, YARN, Mesos, Standalone).
  3. Executor: Работает на каждом рабочем узле и выполняет задачи, предоставленные драйвером, управляет данными и кэшем для выполнения.
  4. Tasks: Базовые единицы параллельного выполнения, которые выполняются на Executor в результате разделения приложения.
graph TD
  A[Driver Program] --> B[Cluster Manager]
  B --> C[Executor Node 1]
  B --> D[Executor Node 2]
  B --> E[Executor Node n]
  C -->|Tasks| F(Task 1)
  C -->|Tasks| G(Task 2)
  D -->|Tasks| H(Task 3)
  D -->|Tasks| I(Task 4)
  E -->|Tasks| J(Task n)