PySpark和Spark的交互流程

交互方式总共有4种,

1.Client方式提交到Spark集群

2.Cluster方式提交到Spark集群

3.Client方式提交到,SparkOnYarn

4.Cluster方式提交到,SparkOnYarn

第1种.Client方式提交到Spark集群.流程如下:

1.spark-submit提交Spark计算任务。因为是Client部署方式,在哪里提交,Driver就运行在哪里

2.Driver进程加载PySpark程序,通过Py4J,将Python的Spark环境对象,转成Java的Spark环境对象

3.Driver进程向Master主节点申请,执行该Spark计算任务所需的资源

4.Master节点接收到资源请求后,会去Worker节点上创建对应的Executor进程(负责执行具体任务),并告知Driver

5.Driver会和Worker进行连接,并占用相关资源,告知其启动Executor进程,Executor启动会向Driver反向注册(即:建立心跳)

6.Driver通知Executor执行具体的任务

7.Driver通过sc.stop()告知Master释放资源,至此,程序结束

其他3种部署模式跟第1种大概类似,区别分别是:

    2.Cluster方式提交到Spark集群

        区别是:Driver进程的运行位置发生变化,不再和spark-submit在一起

        而是在spark集群上,选择1个Worker进行执行,其他不变

    3.Client方式提交到,SparkOnYarn

        区别在于:Driver进程把资源调度的工作交给AppMaster进程来实现,Driver主要负责:任务接收,任务管理

    4.Cluster方式提交到,SparkOnYarn

        区别是:Driver进程和AppMaster进程合为一体,Driver就是AppMaster,AppMaster就是Driver

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值