我可以动态更改SparkContext.appName吗?

sds*_*sds 10 apache-spark pyspark

我知道我可以创建之前SparkConf.set('spark.app.name',...)设置.appName SparkContext

但是,我希望在进展时更改应用程序的名称,即在 SparkContext创建之后.

唉,设置sc.appName不会改变作业的显示方式yarn application -list.

有办法吗?

Sve*_*end 17

这是不可能的:只有在使用SparkConf实例来实现SparkContext之前,才会考虑对sparkConf包括的任何更新spark.app.name:

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

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

  • 我不认为这是可行的,`sc.appName`实现为`val appName = conf.get("spark.app.name")`,当然不能分配,并且通过`sc.getconf进行任何修改.setXYZ`)也不起作用,因为getConf是`def getConf:SparkConf = conf.clone()`.创建上下文后,配置将被视为不可变,并将其传达给所有相关方. (2认同)