整理spark中的job stage task几个概念以及运行案例

Job :
是一个比task 和 stage 更大的逻辑概念,job 可以认为是我们在driver 或是通过spark-submit 提交的程序中一个action ,在我们的程序中有很多action  所有也就对应很多的jobs

Stage:
 是spark 中一个非常重要的概念 ,在一个job 中划分stage 的一个重要依据是否有shuflle 发生 ,也就是是否会发生数据的重组 (重新组织数据)。在一个stage 内部会有很多的task 被执行,在同一个stage 中 所有的task 结束后才能根据DAG 依赖执行下一个stage 中的task.


在spark streaming中,一个application可以在时间维度上划分为无数个job, 一个job 有很多任务组成,每组任务可以任务是一个stage , 而Task 是spark 中另一个很重要的概念 ,

task 跟 partition  block 等概念紧密相连 ,task 是执行job 的逻辑单元 ,在task 会在每个executor 中的cpu core 中执行





下面是一个基于streaming实时计算的wordcount案例:


1. 首先基于yarn-cluster的模式 提交一个wordcount  application



2.   在sparkcontext配置中  Durations.seconds(1) 设置为1秒,因此相隔1秒的时间段内的RDD数据 作为计算对象 来触发一个action,也就是一个job




3.  在id 为4988的job中,根据wordcount的逻辑主要有两个stage 




4.   点击id为9977的 stage 即对应的foreach stage中,可以看到 该stage 由N个task来实际执行计算任务






版权声明:本文为博主原创文章,未经博主允许不得转载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值