2015-06-10 146 views

回答

12

这是不可能的:任何更新到sparkConf,包括spark.app.name,SparkConf的实例之前只考虑用于实例化一个SparkContext:

注意,一旦SparkConf对象传递给Spark,它被克隆,不能再被用户修改。 Spark不支持在运行时修改配置。

https://spark.apache.org/docs/1.3.1/api/scala/index.html#org.apache.spark.SparkConf

+0

注意,我不是问改变'SparkConf'而是直接修改'SparkContext.appName'。 – sds

+1

我不认为这是可行的,'sc.appName'被实现为'val appName = conf.get(“spark.app.name”)',这当然不能被分配,并且通过'sc进行任何修改。因为getConf是'def getConf:SparkConf = conf.clone()',所以getconf.setXYZ'也不起作用。 一旦创建了上下文,配置就被认为是不可变的,并将其传递给所有相关方。 – Svend

相关问题