本节书摘来自华章社区《深入理解Spark:核心思想与源码分析》一书中的第3章,第3.14节将SparkContext标记为激活,作者耿嘉安,更多章节内容可以访问云栖社区“华章社区”公众号查看
3.14 将SparkContext标记为激活
SparkContext初始化的最后将当前SparkContext的状态从contextBeingConstructed(正在构建中)改为activeContext(已激活),代码如下。
SparkContext.setActiveContext(this, allowMultipleContexts)
setActiveContext方法的实现如下。
private[spark] def setActiveContext(
sc: SparkContext,
allowMultipleContexts: Boolean): Unit = {
SPARK_CONTEXT_CONSTRUCTOR_LOCK.synchronized {
assertNoOtherContextIsRunning(sc, allowMultipleContexts)
contextBeingConstructed = None
activeContext = Some(sc)
}
}