Spark程序的入口之SparkContext
今天讲的是sparkContext,这是spark程序的入口,每次写spark程序,首先你得: new sparkContext(conf),参数里是sparkConf,也就是一些相关配置参数。SparkContext 允许driver 应用程序通过资源管理器访问集群,这个资源管理器可以是yarn,mesos,或者是spark集群管理器。sparkContext具体干哪些活呢?细节可以说比较复杂的,我们这里只抽取最重要的几点进行讲解。
主体流程图如下:
下面我们一一来讲解:
加载配置文件SparkConf,创建SparkEnv
创建TaskScheduler
创建DAGScheduler
-
创建SparkUI
1.加载配置文件SparkConf,创建SparkEnv
这个很好理解,我们需要在程序指定像master地址,appName,,,,,,,这是初始化sparkContext的时候要加载配置文件或者相关配置参数,准备好spark环境,我们可以看下sparkContext的源码:
2.创建TaskScheduler
然后我们进入createTaskScheduler这个方法里具体看实现:
声明了一系列变量,这些变量都是一些正则,其实就是为了匹配以哪种方式,local?yarn-client,等等,本质是为了起taskScheduler的一个线程。
。。。。。。。。。。。。。。。。
就不一一截图了。
3.创建DAGScheduler
这里就不做细讲了,在DAGScheduler那章会专门讲这个。
4.创建SparkUI
sparkUI默认端口4040,这样我们就可以通过浏览器访问,查看application的各种状态,这上面信息很丰富,我们在排错调优可以从上面获取很多信息。
以上是对sparkContext的主体介绍,具体DAGScheduler,TaskScheduler都会有单独的章节进行讲解。
欢迎关注微信公众号:BigData共享
文章来自: