首页 > 其他分享 >RDD 任务划分

RDD 任务划分

时间:2024-02-21 17:37:05浏览次数:26  
标签:Task Application 个数 任务 RDD 划分 Job Stage

v> RDD 任务切分中间分为:Application、Job、Stage 和 Task    Application:初始化一个 SparkContext 即生成一个 Application;    Job:一个 Action 算子就会生成一个 Job;    Stage:Stage 等于宽依赖(ShuffleDependency)的个数加 1;    Task:一个 Stage 阶段中,最后一个 RDD 的分区个数就是 Task 的个数。 注意:Application->Job->Stage->Task 每一层都是 1 对 n 的关系。 源码分析: 第一步:handleJobSubmitted()函数中

 第二步:进入submitStage(),查看下方submitMissingTasks()这一段代码,与任务Task划分有关

    匹配阶段shuffleMapStage or ResultStage
    每个case中的new Task的个数,即为任务的个数
    Task个数与map映射的size有关
    map的size取决于partitionsToCompute的结果

DAGSchedluer.scala

 DAGSchedluer.scala的submitMissingTasks方法

 第三步:进入partitionsToCompute,复制findMissingPartitions,因为findMissingPartitions是stage的属性,stage此时为ResultStage(以ResultStage为例),因此后退,点击ResultStage,搜索findMissingPartitions

 DAGSchedluer.scala

 

 其中job.numPartitions是来自于当前阶段最后一个RDD的分区数

 

标签:Task,Application,个数,任务,RDD,划分,Job,Stage
From: https://www.cnblogs.com/huifeidezhuzai/p/18025794

相关文章

  • Spark中RDD阶段划分
    分析源码步骤:第一步程序入口: 第二步一直查看runjob方法,可以看出collect()是RDD行动算子,与Job运行提交相关rdd.scala sparkcontext.scala  sparkcontext.scala  sparkcontext.scala 第三步runJob()与DAG调度有关sparkcontext.scala第四步runJob()核心代码-......
  • SpringBoot整合Quartz实现动态定时任务
    1、增加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency><!--json工具--><dependency><groupId>com.alibaba</gro......
  • spark实验四RDD 编程初级实践
    1.spark-shell交互式编程请到本教程官网的“下载专区”的“数据集”中下载chapter5-data1.txt,该数据集包含了某大学计算机系的成绩,数据格式如下所示:Tom,DataBase,80Tom,Algorithm,50Tom,DataStructure,60Jim,DataBase,90Jim,Algorithm,60Jim,DataStructure,80……请根......
  • RDD算子
    分布式集合对象上的API称之为算子算子分为两类:transformation算子:指返回值仍然是rdd,类似于stream里的中间流这类算子与中间流相同,是懒加载的action算子:返回值不是rdd,类似于stream里的终结流 常见算子:1.map(func):将rdd的数据一条一条的处理,返回新的rdd,和stream流的......
  • 【转载】linux利用crontab添加定时任务详解
    crontab作用:添加,查询,删除系统计划任务的指令。[root@localhost~]#crontab[选项]选项:   -e:   编辑crontab定时任务   -l:   查询crontab任务   -r:   删除当前用户所有的crontab任务1234512345[root@localhost~]#crontab-e......
  • 推荐系统中回归任务常用损失函数
    1.MSE(均方误差损失)优点:1.收敛快缺点:1.假设了样本服从正态分布,如果训练样本label不服从正态分布,则MSE并非最大似然估计2.对异常点很敏感 2.MAE(平均绝对误差损失)优点:不容易受异常值影响缺点:收敛速度慢,拟合能力弱 ......
  • Apache DolphinScheduler数仓任务管理规范
    前言:大数据领域对多种任务都有调度需求,以离线数仓的任务应用最多,许多团队在调研开源产品后,选择ApacheDolphinScheduler(以下简称DS)作为调度场景的技术选型。得益于DS优秀的特性,在对数仓任务做运维和管理的时候,往往比较随意,或将所有任务节点写到一个工作流里,或将每个逻辑节点单独......
  • Mac下设置crontab定时任务一直不执行踩坑日记2
    一、问题描述在Mac下设置 crontab定时任务执行python脚本,一直失败,之前设置失败是因为python3的路径问题,需要写绝对路径才对,这次特意注意了这个问题,whichpython3找到python3的绝对路径,然后写了python3的绝对路径,但还是不行,后面在网上看是不是要修改.py文件权限问题,果然也有......
  • js定时任务
    JS定时任务1.页面上2秒执行一次任务:setInterval(function(){//执行任务},2000);//取消执行clearInterval();2.延时执行:JS都是延时执行的,没有多线程概念,碰到要使用全局变量的时候,要使用递归来实现全局变量数值变化!3.页面上只......
  • 任务调度工具
    定时工具importcn.hutool.cron.CronUtil;importcn.hutool.cron.task.Task;importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Component;importorg.springframework.util.StringUtils......