Компоненты архитектуры Spark:
- Driver Program: Контролирует выполнение задачи, управляет распределением данных и выполняет координацию с рабочими узлами.
- Cluster Manager: Управляет ресурсами кластера и распределением вычислительных задач (например, YARN, Mesos, Standalone).
- Executor: Работает на каждом рабочем узле и выполняет задачи, предоставленные драйвером, управляет данными и кэшем для выполнения.
- 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)