RDD的执行流程(简略)

导读:本篇文章讲解 RDD的执行流程(简略),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

从计算的角度来讲,数据处理过程中需要计算资源(内存 & CPU)和计算模型(逻辑)。执行时,需要将计算资源和计算模型进行协调和整合。

流程概括:
①准备资源
②创建Driver和Executor节点
②然后将应用程序的数据处理逻辑分解成一个一个的计算任务task。
③然后将任务task发到【已经分配资源】的计算节点executor上, 按照指定的计算模型进行数据计算。最后得到计算结果

1. 启动 Yarn 集群环境(准备资源)

在这里插入图片描述

2. Spark 通过申请资源创建调度节点Driver和计算节点Executor

在这里插入图片描述

Driver和Executor都是运行在NodeManager上面的 !
ResourceManager是用于管理的,所以真正运行任务的是NodeManager

3. Spark 框架根据需求将计算逻辑根据分区划分成不同的task任务

在这里插入图片描述

Driver用于在Executor节点之间调度task任务
多个RDD会组合形成关联,再分解为多个Task任务,并放到TaskPool任务池中(因为需要调度task任务)

4. 调度节点Driver将任务根据计算节点状态发送到对应的计算节点进行计算

在这里插入图片描述
( Executor 通过自身块管理器为用户程序中要求缓存的RDD提供内存式Cache存储 )

调度节点Driver会将Task从任务池中取出,然后根据节点状态、首选位置来发送到不同的Executor进行计算
从以上流程可以看出 RDD 在整个流程中主要用于将逻辑进行封装,并生成 Task 发送给Executor 节点执行计算

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/89265.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!