Spark源码剖析

12. Spark环境更新

在SparkContext的初始化过程中,可能对其环境造成影响,所以需要更新环境,代码如下:

SparkContext初始化过程中,如果设置了spark.jars属性,spark.jars指定的jar包将由addJar方法加入httpFileServer的jarDir变量指定的路径下。spark.files指定的文件将由addFile方法加入httpFileServer的fileDir变量指定的路径下。见代码:

postEnvironmentUpdate的实现见代码,其处理步骤如下:

1) 通过调用SparkEnv的方法environmentDetails最终影响环境的JVM参数、Spark属性、系统属性、classPath等;

2) 生成事件SparkListenerEnvironmentUpdate,并post到listenerBus,此事件被EnvironmentListener监听,最终影响EnvironmentPage页面中的输出内容。

postApplicationStart方法很简单,只是向listenerBus发送了SparkListenerApplicationStart事件,代码如下:

原文地址:https://www.cnblogs.com/swordfall/p/9318499.html