
Spark源码解析
Spark源码解析系列
yyoc97
--
展开
-
Spark源码解析系列(五、RDD的执行流程)
文章目录前言样例runJob前言上一节 我们看完了集群资源的分配及Executor启动,今天我们就来看下RDD的实际执行流程吧。默认大家已经知道spark中action和transformation两类算子的概念。样例def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local...原创 2019-02-27 18:07:04 · 648 阅读 · 0 评论 -
Spark源码解析系列(四、资源分配及Executor启动)
文章目录回顾RegisterApplicationstartExecutorsOnWorkers回顾上一节 我们简单看了下application的注册过程,今天我们接着看下spark里核心设计之一的资源分配实现。RegisterApplicationMaster在收到消息后调用receive() 方法,根据消息类型找到注册application的实现部分。case RegisterApp...原创 2019-02-25 15:09:00 · 621 阅读 · 0 评论 -
Spark源码解析系列(三、client的注册)
文章目录回顾创建client调用onStart()注册application回顾上一节我们讲了SparkContext构造函数做的初始化,会创建TaskScheduler和DAGScheduler两个重要对象,TaskScheduler又会通过StandaloneSchedulerBackend构建Driver和client。这节我们接着看下client是如何进行注册的。 client = ...原创 2019-02-23 15:42:06 · 515 阅读 · 0 评论 -
Spark源码解析系列(二、SparkContext内部初始化)
文章目录SparkContextTaskScheduler的实现SPIscheduler.start()SparkContext上一节我们介绍了spark-sumbit方式的任务提交。讲到了SparkContext初始化这里。我们都知道sc是spark应用最为核心的对象,那么今天我们就来看看它是如何进行初始化的。我们通过new SparkContext(conf) 方法进入源码。// 它是S...原创 2019-02-23 00:03:21 · 444 阅读 · 0 评论 -
Spark源码解析系列(一、任务提交)
文章目录前言提交任务流程分析前言本系列文章默认您对spark有相应的了解。笔者选择的spark版本为2.2.0,不同版本可能又些许差异。提交任务流程分析1、首先我们先集群提交任务,会调用spark-submit 这个脚本。我找到spark安装目录下的/bin目录下。查看下其内容。if [ -z "${SPARK_HOME}" ]; then source "$(dirname "$0...原创 2019-02-22 17:16:10 · 651 阅读 · 0 评论