天天看点

《深入理解Spark:核心思想与源码分析》——3.12节Spark环境更新

本节书摘来自华章社区《深入理解spark:核心思想与源码分析》一书中的第3章,第3.12节spark环境更新,作者耿嘉安,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.12 spark环境更新

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

sparkcontext初始化过程中,如果设置了spark.jars属性, spark.jars指定的jar包将由addjar方法加入httpfileserver的jardir变量指定的路径下。spark.files指定的文件将由addfile方法加入httpfileserver的filedir变量指定的路径下。见代码清单3-49。

代码清单3-49 依赖文件处理

postenvironmentupdate的实现见代码清单3-51,其处理步骤如下:

1)通过调用sparkenv的方法environmentdetails最终影响环境的jvm参数、spark 属性、系统属性、classpath等,参见代码清单3-52。

2)生成事件sparklistenerenvironmentupdate,并post到listenerbus,此事件被environ-mentlistener监听,最终影响environmentpage页面中的输出内容。

代码清单3-51 postenvironmentupdate的实现