Driver планирует вычисление, cluster manager выделяет ресурсы, executors выполняют задачи над разделами данных. SQL проходит анализ и оптимизацию перед исполнением.
Расскажи верхнеуровнево, как устроена архитектура Spark: какие компоненты есть и как они взаимодействуют при выполнении SQL-запроса.
Driver планирует вычисление, cluster manager выделяет ресурсы, executors выполняют задачи над разделами данных. SQL проходит анализ и оптимизацию перед исполнением.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Driver планирует вычисление, cluster manager выделяет ресурсы, executors выполняют задачи над разделами данных. SQL проходит анализ и оптимизацию перед исполнением.
Spark строит логический и физический планы, выбирает операторы чтения, соединения и агрегации. Запуск действия приводит к выполнению jobs, разбитых на stages и tasks; shuffle создаёт обмен данными между этапами. Executors выполняют tasks, хранят кеш и сообщают результаты driver. Driver не должен собирать весь большой набор в свою память без необходимости.
Источник: Документация Apache Kafka.