我可以即时更改 SparkContext.appName 吗?

Can I change SparkContext.appName on the fly?

我知道我可以使用 SparkConf.set('spark.app.name',...) 在 创建 SparkContext.

之前设置 appName

但是,我想在应用程序进行时更改其名称,即在创建 SparkContext 之后。

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

有办法吗?

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

Note that once a SparkConf object is passed to Spark, it is cloned and can no longer be modified by the user. Spark does not support modifying the configuration at runtime.

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