加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据分析工具推荐—Spark计算背后的秘密

发布时间:2021-05-15 09:49:53 所属栏目:大数据 来源:互联网
导读:节点介绍: Cluster Manager:在standalone模式中即为Master主节点,控制整个集群,监控worker。在YARN模式中为资源管理器负责分配资源,有点像YARN中ResourceMa

Cluster Manager:在standalone模式中即为Master主节点,控制整个集群,监控worker。在YARN模式中为资源管理器负责分配资源,有点像YARN中ResourceManager那个角色,大管家握有所有的干活的资源,属于乙方的总包。

WorkerNode:可以干活的节点,听大管家ClusterManager差遣,是真正有资源干活的主。从节点,负责控制计算节点,启动Executor或者Driver。

Executor:在WorkerNode上起的一个进程,相当于一个包工头,负责准备Task环境和执行。

Task:负责内存和磁盘的使用。Task是施工项目里的每一个具体的任务。

Driver:统管Task的产生与发送给Executor的,运行Application 的main()函数,是甲方的司令员。

SparkContext:与ClusterManager打交道的,负责给钱申请资源的,是甲方的接口人。

整个互动流程是这样的:

甲方来了个项目,创建了SparkContext,SparkContext去找ClusterManager申请资源同时给出报价,需要多少CPU和内存等资源。ClusterManager去找WorkerNode并启动Excutor,并介绍Excutor给Driver认识;

Driver根据施工图拆分一批批的Task,将Task送给Executor去执行;

Executor接收到Task后准备Task运行时依赖并执行,并将执行结果返回给Driver;

Driver会根据返回回来的Task状态不断的指挥下一步工作,直到所有Task执行结束;

Sparkcontext的作用:一是分发task,申请资源等功能外,更重要的一个功能是将RDD拆分成task,即绘制DAG图。

借用上图我们再来了解一下spark的运算过程:

构建Spark Application的运行环境,启动SparkContext;

SparkContext向资源管理器(可以是Standalone,Mesos,Yarn)申请运行Executor资源,并启动StandaloneExecutorbackend;

Executor向SparkContext申请Task;

SparkContext将应用程序分发给Executor;

SparkContext构建成DAG图,将DAG图分解成Stage、将Taskset发送给Task Scheduler,最后由Task Scheduler将Task发送给Executor运行;

Task在Executor上运行,运行完释放所有资源;

RDD计算案例

我们用一个案例来分析RDD的计算过程:

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读