1.简介:SparkConf是Spark的配置管理器,是Spark 的开始--驱动器SparkContext的构造器重要的传参(虽然可以不传),意在更好地设置自己所需要的配置。
2.构造方法:
主构造方法:
//loadDefaults是否加载默认值
class SparkConf(loadDefaults: Boolean) extends Cloneable with Logging with Serializable
辅助构造方法:
def this()=this(true) //无参构造方法加载默认值
3.主要成员:
//基本上所有默认或主动设置的配置以key-value保存在这个HashMap中
private val settings = new ConcurrentHashMap[String, String]()
4.初始化:
if (loadDefaults) { // 加载默认值 ↑
loadFromSystemProperties(false) // ↓
}
private[spark] def loadFromSystemProperties(silent: Boolean): SparkConf = {
// 加载任何spark.*系统属性
for ((key, value) <- Utils.getSystemProperties if key.startsWith("spark.")) {
set(key, value, silent) // ↓
}
this
}
private[spark] def set(key: String, value: String, silent: Boolean): SparkConf = {
if (key == null) {
throw new NullPointerException("null key")
}
if (value == null) {
throw new NullPointerException("null value for " + key)
}
if (!silent) {
logDeprecationWarning(key)
}
settings.put(key, value) // ↑ 将配置信息放进HashMap中
this
}
5.其它方法函数成员:拼图进行时。。。