Я запускаю Spark на локальной машине с 8 ядрами, и я понимаю, что могу использовать «local [num_threads]» в качестве мастера и использовать «num_threads» в скобке, чтобы указать количество потоков, используемых Spark.Как контролировать количество используемых нитей/ядер?
Однако кажется, что Spark часто использует больше потоков, чем я требовал. Например, если я укажу только 1 поток для Spark, используя верхнюю команду в Linux, я все же могу заметить, что использование процессора часто превышает 100% и даже 200%, подразумевая, что более 1 потока фактически используются Spark ,
Возможно, это проблема, если мне нужно запустить несколько программ одновременно. Как я могу контролировать количество потоков/ядер, используемых строго Spark?
Это не количество потоков. Это число одновременных задач, которые Spark будет выполнять (задача является частью действия на RDD). Spark использует несколько других потоков для разных вещей, таких как обработка связи и обслуживание пользовательского интерфейса драйвера. – vanza
Спасибо за ваш ответ! Тогда есть ли способ контролировать количество ядер/процессоров, используемых Spark? – SciPioneer
Не так, как вы хотите. Вы можете контролировать количество одновременных задач, но это все. Если вы хотите больше, вам нужно будет использовать некоторый контроль уровня ОС, например, группы Linux. – vanza