При spark.task.cpus=1 и наличии готовых задач executor с 10 доступными ядрами может выполнять до 10 задач одновременно. Это верхняя граница, не обещание постоянной загрузки.
Если на executor'е 10 ядер, сколько Tasks будет выполняться параллельно в один момент времени?
При spark.task.cpus=1 и наличии готовых задач executor с 10 доступными ядрами может выполнять до 10 задач одновременно. Это верхняя граница, не обещание постоянной загрузки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При spark.task.cpus=1 и наличии готовых задач executor с 10 доступными ядрами может выполнять до 10 задач одновременно. Это верхняя граница, не обещание постоянной загрузки.
Если одной задаче выделено два CPU, CPU-лимит составит пять задач. Дополнительные требования к ресурсам, например GPU, могут уменьшить доступное число слотов.
Реальная конкурентность зависит также от числа партиций и готовности этапов. Не путайте потоки внутри пользовательской функции с количеством задач, планируемых Spark.