Ограничивает ли spark-submit --master --local [4] все приложение четырьмя ядрами, или только работники spark? - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть программа tenorflow, которую я хочу запустить на главном узле кластера AWS EMR, который имеет очень слабую зависимость от искры - я хочу выполнить команду spark submit, чтобы сделать тензорный поток доступным как можно большему количеству ресурсов.Я думал, что если бы я сделал

spark-submit --master local[4] myprogram.py

Эта искра получит только 4 ядра, а myprogram.py получит остальное - но, возможно, я ограничу количество ядер для всего приложения только 4?(Скажем, главный узел имеет 32 ядра)

Программа tenorflow не распределена - весь поток представляет собой большое искровое приложение, которое выполняет много ETL с узлами задач, тогда обучение просто происходит на главном узле,но в обучении все еще используется искра - это неловкость - обычно я создаю свою собственную среду Python для tenorflow и pyspark, но, поскольку я нахожусь на EMR, я не хочу управлять двумя установками spark.

1 Ответ

0 голосов
/ 11 сентября 2018

С spark-submit --master local[4] myprogram.py, запускать Spark локально с 4 рабочими потоками.

Даже если ваш кластер имеет 32 ядра, приложение spark будет использовать только 4 ядра.

Развертывание будет в нераспределенном режиме развертывания с одной JVM, Spark порождает все исполняющие компоненты - driver, executor, LocalSchedulerBackend, and master - в одном и том же JVM .

Запускаемая number of tasks зависит от количества потоков, указанного в master URL . В вашем случае количество заданий будет 4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...