SparkConf

本文深入解析SparkConf在Spark中的核心作用,包括其构造方法、成员变量及初始化过程,阐述了如何通过SparkConf设置和管理配置参数,以实现Spark任务的高效运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.其它方法函数成员:拼图进行时。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值