Spark架构剖析

Spark Deploymet(部署)
软件中有哪些实体,实体间如何协调工作。


Cluster Manager负责管理和分配集群资源
Driver Program相当于项目经理
Executor 相当于软件工程师
Resource:Core、Memeory、IO:磁盘IO、网络IO
Coarse Grained 粗粒度
DAG Scheduler DAG调度,是高层的调度器
Task Scheduler 任务调度,是底层的调度器
graph of stages RDD partitioning pipelining
task finish & stage failure events
task placement retries on failure
speculation inter-job policy
SparkContext
并发的线程池
RDD graph(图表)
在并发运行的时候,通过Block Manager读写数据
怎么划分不同的阶段?
宽依赖、窄依赖


广度只是深度的副产品而已。
Sheduler Optimizations调度优化
previously computed partition 预先计算的分区
stage阶段,基于内存进行迭代。
shuffle依赖于所有的,需要进行网络传输,无法在内存中进行迭代。
后面的RDD依赖于前面的RDD


Schedule:
RDD Objects:build operator DAG
DAG Scheduler:
split graph into stages of tasks
submit each stage as ready
TaskScheduler:
launch tasks via cluster manager
retry failed or straggling tasks
Worker:
execute tasks
store and serve blocks

你可能感兴趣的:(Spark,Core)