Да, но возьмем абстрактный spark worker
Он запросил 3 vcpu, ему его выдали, он на эти 3 vcpu запустил 3 рабочих потока.
Вроде все ок
Потом мы вспоминаем что у jvm ещё есть потоки на gc, jit, в самом спарке потоки на io, и всякие blockmanager
Итого вопрос: сколько потоков-ядер сожрёт воркер :)