Spark中RDD与DAG的执行逻辑

Spark中RDD与DAG的执行逻辑

核心
1.当Driver端向master申请完成后,调用worker,这时worker会同Driver端进行通信,将执行程序接收,从而执行逻辑。
2.当数据的规则被切分放到各个worker中时,因为规则的不完整,这时Driver端会将将各切分的数据进行拉回组合,形成完整的规则后,再以广播的形式(broadcast)发送到不同worker上。使得规则完整,从而进行后续数据的处理。
2.一个分区会产生一个task,

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SparkRDD执行流程遵循有向无环图(DAG)的方式进行。下面是关于DAG执行流程图生成的步骤: 1. 转换操作:首先,通过RDD的转换操作(例如map、filter、reduce等)定义数据处理的逻辑。这些操作将构建一个RDD转换图。 2. 逻辑优化:Spark会对RDD转换图进行逻辑优化,以提高执行效率。例如,它可能会合并相邻的转换操作或推测执行等。 3. 任务划分:Spark会将RDD转换图划分为一系列的阶段(Stage)。每个阶段由一组具有相同父RDD依赖关系的转换操作组成。 4. 任务划分优化:对于每个阶段,Spark会将其划分为一组任务(Task),以便并行执行。任务划分也可以根据数据本地性进行优化,尽量将任务分配给与数据最接近的节点。 5. 任务调度:一旦任务划分完成,Spark会将这些任务提交给集群管理器进行调度,以在集群的多个节点上并行执行。 6. 依赖关系跟踪:在执行期间,Spark会跟踪RDD之间的依赖关系,并确保所有依赖的转换操作被正确执行。 7. 数据传输和处理:在任务执行期间,Spark将数据从一个节点传输到另一个节点,并对其进行相应的转换操作。 8. 结果返回:一旦所有任务都完成,Spark将结果返回给驱动程序,供进一步处理或输出。 总之,SparkRDD执行流程图生成步骤涉及转换操作定义、逻辑优化、任务划分、任务划分优化、任务调度、依赖关系跟踪、数据传输和处理以及结果返回。这些步骤确保了高效的分布式数据处理和计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值