Spark运行机制与原理详解

本文详细介绍了Spark的运行流程,从用户创建SparkContext连接资源管理器开始,讲解了资源管理器如何分配资源和任务,以及Executor如何执行任务。SparkContext通过DAG图将任务分解为阶段,TaskScheduler负责调度任务到Executor执行。总结了Spark应用的构成关系,即Driver、Job、Stage和Task的层级结构,以及任务执行的交互过程。
摘要由CSDN通过智能技术生成

先上图(自己画的有点丑)
这里写图片描述
这个就是Spark运行的基本流程图。
或者看这个图
本图来自子雨大数据
可以看出Spark运行经过以下几个阶段:
1.用户编写好SparkContext,新创建的SparkContext连接资源管理器cluster manager,其实Spark的还有其他优秀的资源管理器可以用,比如Standalone,Apache Mesos,YARN等。资源管理器根据用户提交SparkContext时的设置,分配CPU和内存等信息,也包括任务分配以及任务监控等,这些是SparkContext向资源管理器申请的。
2.资源管理器收到用户应用提交,为应用启动执行任务的进程executor。可以看到系统可以有很多工作节点WorkNode,executor为某工作节点的一个进程。executor通过心跳向资源管理器汇报运行情况,也就是实现任务调度与监控。
3.具体是怎么执行任务的?SparkContext是用户编写创建的,里面有环境配置信息以及应用程序。SparkContext内部是这样的:结合RDD对象和依赖关系创建出有向无环图——DAG图(我理解为拓扑结构),RDD是一种内存共享模型,全称为弹性分布式数据集,可以这么理解RDD从之前的RDD中衍生出来并包含了依赖信息(就是和之前的数据有啥不一样)&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值