2014-09-11 4 views
1

У меня есть автономная программа с Spark, которую я хочу получить результаты работы, используя другое количество ядер. Что бы я ни пытался, я получаю одинаковые значения времени выполнения!Как изменить количество ядер, используемых в коде?

Это часть кода, который я устанавливаю количество ядер до создания контекста Spark:

System.setProperty("spark.cores.max","96") 

Общее количество ядер, что у меня есть 252.

+1

Возможно, вам стоит показ нам, какую рутину вы используете для синхронизации исполнения вашей программы. Многие из вопросов этого пользователя, спрошенные на SO, оказываются результатом неправильного измерения, а не ошибочного параллельного выполнения. –

+0

Я запускаю автономное приложение, которое после завершения самой программы дает общее время работы. Я не использую ничего для измерения! и я уверен, что программа работает правильно. время запуска для 252 ядер составляет 270 секунд. – Rubbic

+2

Вы пробовали -Dspark.cores.max = 96? Тогда вы уверены, что перед запуском jvm значение устанавливается. В коде проверьте 'String oldValue = System.setProperty ("spark.cores.max", "96") 'и проверьте его. Может быть, искра исправила его для вас. –

ответ

2

Одно предложение попробовать установив его с помощью SparkConf().setMaster(local[numCores]). Это, например, устанавливает его в 4-х ядер:

val conf = new SparkConf().setAppName("app").setMaster("local[4]") 
val sc = new SparkContext(conf) 

Смотрите здесь для подробностей https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.SparkConf

+0

Спасибо, что он решен :-) – Rubbic

+0

Ну, это работает, только если вы работаете в локальном режиме. Я сомневаюсь, что она имеет 252 ядра на одной машине. – Dici

0

Чтобы завершить langkilde ответ, вы можете использовать spark.cores.max свойство и установить его на SparkConf (не в свойствах системы .. .) или передать его как параметр spark-submit. Кстати, вы также можете прочитать документ: https://spark.apache.org/docs/1.2.0/configuration.html.

Не все аспекты искры хорошо документированы, но определенно определенная конфигурация.

Смежные вопросы