Я немного новичок в Spark и пытаюсь понять несколько терминов. (Не могу понять, используя онлайн-ресурсы)
Пожалуйста, подтвердите сначала меня с помощью следующих условий:
Исполнитель: container or JVM process
, который будет работать на worker node or data node
. У нас может быть несколько исполнителей на узел.
Ядро: это поток в container or JVM process
, работающий на worker node or data node
. У каждого исполнителя может быть несколько ядер или потоков.
Пожалуйста, исправьте меня, если я ошибаюсь в приведенных выше двух понятиях.
Вопросы:
1) Каждый раз, когда мы отправляем задание Spark, Что это значит ? Передаем ли мы нашу работу Yarn или менеджеру ресурсов, который назначит ресурсы для моего application or job
в кластере и выполнит это? Его правильное понимание ..?
2) В команде, используемой для отправки задания в спарк-кластер, есть возможность установить количество исполнителей.
spark-submit --class <CLASS_NAME> --num-executors ? --executor-cores ? --executor-memory ? ....
Итак, это число исполнителей + ядра будут настраиваться для каждого узла? Если нет, то как мы можем установить указанное c количество ядер на узел?