Spark
文章平均质量分 89
木星之韵
这个作者很懒,什么都没留下…
展开
-
Spark源码分析-1.集群架构介绍和SparkContext源码分析
Spark源码分析-1.集群架构介绍和SparkContext源码分析 在分析Spark源码之前,有必要把Spark的集群架构和SparkContext复习下,有助于后面对源码的理解。 Spark集群架构 本文的集群架构是建立在Standalone模式的,Yarn和Mesos类似 Spark架构: 名词解释: Client:客户端进程,负责提交作业到Master。Client进...原创 2018-02-09 21:21:10 · 350 阅读 · 0 评论 -
Spark源码分析-2.Job提交
在第一篇文章中提到了一次action操作会触发RDD的延迟计算,我们把这样的一次计算称作一个Job。我们看下一个job的提交过程。我们用最常见的collect举例。 调用栈: 1. RDD.collect() 2. SparkContext.runJob() 3. DAGScheduler.runJob() 4. DAGScheduler.submitJob 5. DAGSchedul...原创 2018-02-11 21:12:16 · 226 阅读 · 0 评论 -
Spark源码分析-3.依赖分析
上篇文章中,我们讲完了job层面的代码,最后引出了stage。再讲stage划分源码前,我们先看下stage划分原理和Dependency类。 stage的划分是根据宽窄依赖来的,遇到了宽依赖需要进行shuffle,各节点不能并行运行,而窄依赖的每个分区的计算可以并行。我们从两个角度解释下宽窄依赖。 1. 从子RDD来分析 (1)窄依赖:子RDD的每个分区依赖于常数个父分区(即与数据规模...原创 2018-02-12 11:29:53 · 274 阅读 · 0 评论