spark基于akka一个任务通讯的简单流程

本文详细阐述了Spark的任务通讯过程,从Master与Worker的注册、Driver与Master的连接,到任务分配、Executor的执行,以及数据计算与聚合。在用户提交任务时,SparkContext与Master交互,构建DAG并在Executor上执行操作,当遇到Action时,任务提交并执行,数据可能在内存或磁盘中计算,并在需要时进行聚合。
摘要由CSDN通过智能技术生成

本文介绍spark通讯的简单流程,通过本文也可以了解简单的spark任务执行流程 

1.Master 启动成功后(开启线程定时检查Worker存活与否) ,启动Worker,这时候Worker与Master间进行通讯。通讯内容:向Master注册信息(包含一些自己电脑的配置情况,方便Master后续分配任务)

之后向 Master定时发送心跳包 用以报活。

2.当用户提交任务时,机器会启动driver(注意:这里机器可以使Master也可以使Worker也可以使其他机器),driver中的sparkcontext对象会和Master建立连接,把任务信息(包括启动任务时候设置多少个核还有内存来运行任务)告知Master。同时context创建好之后会构建dag(有向无环图),开始执行tarnsformation部分。

3.Master接收到任务消息,根据任务信息,找到合适的Worker向其发送任务请求。

4.Worker接收到来自Master的任务请求,建立Excutor来执行任务。

5.Excutor根据Driver -> Master -> Work

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值