spark什么计算运行在excutor,什么算子运行在driver?

什么计算运行在excutor,什么算子运行在driver?


(1)、foreachRdd运行在driver节点,因为它是操作dstream的。foreachPartition和foreach运行在worker节点,因为它是操作rdd的。foreachRdd开启对任务的启动,当执行到执行算子的时候开始任务的执行。
(2)、对rdd进行操作的就运行在worker节点,对dstream进行操作的就运行在driver节点。

(3)、以下代码将rdd转成了set,所以在driver端执行。

resultPlayListRdd.map{ _._1 }.collect.toSet

从执行的过程可分为三个部分来分析main方法,RDD处理方法,DStream处理方法,从执行的JVM虚拟机可以分为两个部分driver端,worker端。

一、main方法

main方法就是在driver端执行的,当然这里是把RDD计算的Action剔除的情况,先看一段代码

  除了rdd算子中的代码其他都是在driver端执行,并且只执行一次

二、DStream处理方法

在sparkStreaming中spark引入了DStream,在处理的时候代码是:

        DStream的action方法中的代码只有在处理rdd时才会在Worker端执行,其他对dstream进行操作的就运行在driver节点,这里是计算一次执行一次。除了Dstram计算中的代码其他都是在driver端并且只执行一次。

三、RDD处理方法

与rdd算子无关的代码都是在driver端计算一次执行一次。rdd的算子闭包是在worker端中执行的。

 

 

 

 

 

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值