如何更改代码中使用的核心数?

时间:2014-09-11 22:09:36

标签: scala apache-spark

我有一个使用Spark的独立程序,我希望使用不同数量的内核获得运行时间结果。无论我一直在尝试什么,我得到相同的运行时值!

这是我在创建Spark上下文之前设置核心数量的代码部分:

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

我拥有的核心总数是252。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

要完成langkilde答案,您可以使用spark.cores.max属性并将其设置在SparkConf上(不在系统的属性中...)或将其传递为参数spark-submit。顺便说一句,您还可以阅读文档:https://spark.apache.org/docs/1.2.0/configuration.html

并非Spark的所有方面都有详细记录,但配置肯定是。