
spark
文章平均质量分 95
那年的坏人
热爱技术与艺术
展开
-
spark源码分析之任务调度篇
DAG的生成概述 DAG(Directed Acyclic Graph)叫做有向无环图,原始的RDD通过一系列的转换就就形成了DAG,根据RDD之间的依赖关系的不同将DAG划分成不同的Stage,对于窄依赖,partition的转换处理在Stage中完成计算。对于宽依赖,由于有Shuffle的存在,只能在parent RDD处理完成后,才能开始接下来的计算,因此宽依赖是划分Stage的依据。原创 2016-04-19 21:34:00 · 1732 阅读 · 0 评论 -
spark源码分析之Checkpoint的过程
概述 checkpoint 的机制保证了需要访问重复数据的应用 Spark 的DAG执行行图可能很庞大,task 中计算链可能会很长,这时如果 task 中途运行出错,那么 task 的整个需要重算非常耗时,因此,有必要将计算代价较大的 RDD checkpoint 一下,当下游 RDD 计算出错时,可以直接从 checkpoint 过的 RDD 那里读取数据继续算。我们先来看一个例子,che原创 2017-03-29 17:51:15 · 707 阅读 · 2 评论 -
spark源码分析之Executor启动与任务提交篇
任务提交流程概述 在阐明了Spark的Master的启动流程与Worker启动流程。接下继续执行的就是Worker上的Executor进程了,本文继续分析整个Executor的启动与任务提交流程Spark-submit提交一个任务到集群通过的是Spark-submit 通过启动脚本的方式启动它的主类,这里以WordCount为例子 `spark-submit –class cn.itcas原创 2016-04-19 21:32:27 · 9150 阅读 · 0 评论 -
spark源码分析Master与Worker启动流程篇
spark通信流程 概述 spark作为一套高效的分布式运算框架,但是想要更深入的学习它,就要通过分析spark的源码,不但可以更好的帮助理解spark的工作过程,还可以提高对集群的排错能力,本文主要关注的是Spark的Master的启动流程与Worker启动流程。现在Spark最新版本为1.6,但是代码的逻辑不够清晰,不便于理解,这里以1.3为准Master启动我们启动一个Mast原创 2016-04-19 21:29:52 · 4072 阅读 · 1 评论