As stated here
Spark properties mainly can be divided into two kinds: one is related to deploy, like “spark.driver.memory”, “spark.executor.instances”, this kind of properties may not be affected when setting programmatically through SparkConf in runtime, or the behavior is depending on which cluster manager and deploy mode you choose, so it would be suggested to set through configuration file or spark-submit command line options; another is mainly related to Spark runtime control, like “spark.task.maxFailures”, this kind of properties can be set in either way.
But it just gives an example, it doesn't state it clearly which properties cannot be set programmatically (which means can only be set via spark-submit command-line).
Anyone have idea? I just cannot find relevant documentation regarding this...
Many thanks.