Spark源码学习系列
Mathieu66
Apache Hudi Commiter
展开
-
Spark-2.4.0 源码学习系列《一 》 - SparkConf
SparkConf是Spark程序的配置类,以键值对的方式存储各种各样的Spark参数。通常情况下,可以通过 new SparkConf()来创建一个Sparkconf对象,这种方式会加载Java系统属性中任何以“spark.”开头的参数,并设置到应用程序中。SparkConf中设置的参数相较于系统属性具有优先级(会覆盖系统参数)。SparkConf中最重要的一个参数是settings,是一个Co...原创 2019-01-26 16:31:08 · 391 阅读 · 1 评论 -
Spark-2.4.0 源码学习系列《二》 - SparkContext
SparkContext 是Spark功能的主入口。一个SparkContext 代表一个spark集群的链接,可以用来在集群上创建RDD,累加器和广播变量。每个JVM中只能有一个活动的SparkContext。必须在创建新的SparkContext之前调用 stop()方法来停止当前处于active状态的SparkContext。这个限制最终可能会被移除。 下面我们来看看我们使用 val sc...原创 2019-01-26 16:40:35 · 411 阅读 · 0 评论 -
Spark-2.4.0 源码学习系列《通信框架》之Dispatcher
Dispatcher是Spark通信框架中的消息分发器,会在NettyRpcEnv初始化的时候创建,NettyRpcEnv的初始化过程我们以后再谈,现在我们先看一下Dispatcher初始化时都干了哪些事。 private val endpoints: ConcurrentMap[String, EndpointData] = new ConcurrentHashMap[S...原创 2019-01-26 21:32:53 · 579 阅读 · 0 评论 -
Spark-2.4.0 源码学习系列《通信框架》之RpcEnv(NettyRpcEnv)
RpcEnv是一个RPC环境, RpcEndPoint需要将自身注册到RpcEnv才能接收信息。RpcEnv将会处理RpcEndPointRef或远程节点发来的消息,并将消息传送给相应的RpcEndPoint.对于业务代码未捕获的的异常,RpcEnv会使用RpcCallContext.sendFailure方法将他们的发送回给发送方,或者打出日志(如果没有调用方),亦或者是NotSeria...原创 2019-01-28 11:02:28 · 496 阅读 · 0 评论 -
Spark-2.4.0 源码学习系列《Master的启动过程》
目录 一、Master启动主流程 1.1 Master main方法 1.2 startRpcEnvAndEndpoint(...) 1.3 rpcEnv.setupEndpoint(...) 二、Master启动需要注意的地方 2.1 Dispatcher的线程池 2.2 Inbox.process(...) 三、Master的初始化过程 3.1 参数初始化 3.2 ...原创 2019-01-28 17:53:15 · 324 阅读 · 0 评论 -
Spark-2.4.0 源码学习系列《Worker的启动过程》
目录 一、Worker的main方法 二、Worker初始化过程 2.1 参数初始化 2.2 onStart 2.2.1 tryRegisterAllMasters() 2.2.2 Option(self).foreach(_.send(ReregisterWithMaster)) 三、 总结 Worker和Master一样,在Spark通信架构中都是一个EndPoint,...原创 2019-01-30 19:19:59 · 307 阅读 · 0 评论