Насколько мне известно, spark.task.cpus
управляет параллелизмом задач в вашем кластере в случае, когда некоторые определенные задачи имеют собственный внутренний (пользовательский) параллелизм.
Подробнее: Мы знаем, что spark.cores.max
определяет, сколько потоков (aka core) требуется вашему приложению. Если вы оставите spark.task.cpus = 1
, у вас будет # spark.cores.max количество одновременных задач Spark, запущенных одновременно.
Вы только хотите изменить spark.task.cpus
, если знаете, что ваши задачи сами распараллеливаются (возможно, каждая из ваших задач порождает два потока, взаимодействует с внешними инструментами и т. д.). Установив spark.task.cpus
соответственно, вы становитесь хорошим «гражданином». Теперь, если у вас есть spark.cores.max = 10 и spark.task.cpus = 2 Spark будет создавать только 10/2 = 5 одновременных задач. Учитывая, что вашим задачам необходимо (скажем) 2 потока внутренне, общее количество выполняемых потоков никогда не будет больше 10. Это означает, что вы никогда не переходите от своего первоначального контракта (определяется spark.cores.max
).
То, что вы хотите сделать, это передать опцию :path
resources :apples, :path => "cars"
Это заменит все ваши ссылки на маршруты с /apples
до /cars
См .: http://guides.rubyonrails.org/routing.html , раздел 4.7 Перевод путей
.