SparkContext主构造函数代码提取

这是阅读sparkContext类的代码做的一个笔记。阅读这个类的时候,主要的任务就是搞清楚sparkContext是怎么构造的,java、C#的class的初始化都是放在一个方法中的,而scala的主构造函数代码几乎散落在真个sparkContext类中,这就需要我们将其整理出来,才能有条理的进行阅读工作。

sparkContext的主构造函数中作的主要的几件事情有:

1、各种解析conf(这个我没有统一收录,实在太多,如果要看,直接到sparkContext类搜索“conf”)

2、sparkEnv的创建,以及他内部组件(ListenerBus、metrics system、blockmanager等)的初始化、start

(ListenerBus、metrics system的简介贴上 http://blog.csdn.net/allwefantasy/article/details/50449464 )

3、 TaskScheduler、DAGScheduler、SparkUI 的创建及start

上代码笔记图:(SparkContext主构造函数代码提取)

时间: 2025-01-14 16:38:44

SparkContext主构造函数代码提取的相关文章

服务器主逻辑代码的重构

不知道前主程是处于什么目的,总之我接手这套程序的时候,出现了超级多的问题,也发现了超级多的问题. 比如说吧,接受网络消息逻辑是线程独立的,而发送消息给客户端缺阻塞在了逻辑线程里面:原本可以放在一个进程里面处理的逻辑,却分散在了四个进程里面去处理,导致我完成一个功能,大部分时间要话费了进程之间的玩家信息的同步上面,在我无法忍受的情况下,我终于是用NIO将网络底层从新写了,而且将四个进程合并,但是在很多逻辑上还是尽量保持了和原逻辑处理的兼容! 先说说这个重构的底层吧! 我们看下最重要的ClientH

编程算法 - 不能被继承的类(私有构造函数) 代码(C++)

不能被继承的类(私有构造函数) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 用C++设计一个不能被继承的类. 可以使用私有构造函数, 并提供静态成员函数, 返回和删除类的实例. 则只能在堆上创建实例, 不能在栈上创建. 代码: /* * main.cpp * * Created on: 2014.7.13 * Author: Spike */ #include <iostream> #include <list> us

编程算法 - 求1+2+...+n(构造函数) 代码(C++)

求1+2+...+n(构造函数) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 求1+2+...+n, 要求不能使用乘除法\for\while\if\else\switch\case等关键字及条件判断语句(A?B:C). 可以使用构造函数, 循环求解, 使用数组构造多个类, 使用类的静态变量存储数据. 代码: /* * main.cpp * * Created on: 2014.7.12 * Author: spike */ #inc

将html前端代码提取公因数(5)

将html前端代码提取公因数(5) 注意:这是优化html代码,对于多个html代码相同的部分提取到一个模板中,只需要编写变化的html 1,利用Django提供的render方法的第三个参数的属性 传入字典参数给模板:这个属性可以实现将重复的HTML代码进行合并,并将显示数据分离 2,找格式完全相同,文案不同的HTML代码 将其用{% for b in blocks %}和{% endfor %}包裹进行遍历文案(文案做blocks字典处理),不同的文案用{{b.键名}}方式来调用 3,vie

jmeter-在beanshell里用代码提取参数

接口返回json(response_data): { "Code":1, "Message":null, "Error":null, "Data":{ "Tire":["20寸及以上轮毂安装及动平衡", "朝阳轮胎安装服务[14-15寸]", ], "Beautify":[ { "Cost":"14.00",

一行代码提取url中querystring的某个key的值

var itemdata = "OrderFilter=0&ProjectTag=15&DateType=0"; var projectTag = itemdata.replace(/.*projecttag=([\d]+).*/gi, "$1"); 重点就是第二行,用匹配到的括号里的值替换整个文本. 如果用传统方法,肯定要先split"&"符号,再split"="符号,然后再取值. 这样多好,就一行代

android 在android中教你一行代码判断是不是主线程

我们有些时候需要判断这是不是主线程,特别是在一些使用别人框架的时候,比如想在某个回调中显示textview控件上的文字,但是我不知道他是不是在主线程中,下面一行代码就可以判断是不是在主线程中 android 在android中教你一行代码判断是不是主线程,代码如下 if (Looper.myLooper() == Looper.getMainLooper()){ //是在主线程中 }else{ } 我这是在看imageload源码中看到了,收货了!

webpack配置提取公共代码

公共代码提取功能是针对多入口文件的: 背景:在pageA.js和pageB.js中分别引用subPageA.js和subPageB.js webpack.config.js文件: 1 var path = require('path') 2 module.exports = { 3 entry:{ 4 pageA:'./src/pageA.js', 5 pageB:'./src/pageB.js' 6 }, 7 output: { 8 filename: "[name].js", 9

基于webpack实现多html页面开发框架六 提取公共代码

一.解决什么问题 1.如果a.js和b.js都引用了common.js,那在打包的时候common.js会被重复打入到a.js和b.js,造成重复打包 2.单独打包common.js对性能有帮助,浏览器下载一次后会缓存下来,不会重复下载 二.未抽取公共代码的状况 基于之前代码,测试如下: 1.在assets/js文件夹下新建common.js,输入如下代码: 1 export function printCommon(){ 2 console.log("common"); 3 } 2.