当前位置: 首页 > news >正文

血缘和宽窄依赖

血缘和宽窄依赖

1.血缘

比如RDD2基于RDD1。

rdd2=rdd1.flatmap(word=>word.split(" "))

这就是rdd2 依赖rdd1.依赖是rdd之间的关系。某个rdd从数据源获取数据并不是依赖。

同时还存在间接依赖的情况,比如rdd3=rdd2.xxx。则rdd3间接依赖rdd1

需要注意的是,rdd不存储数据,如果rdd1没缓存,则rdd2调用时,rdd1需重新计算后给其调用。

多个连续的依赖关系称之为血缘。

2.宽窄依赖

假设rdd1有俩分区,rdd2也有俩分区。

窄依赖:

rdd1分区一有,a,b两条数据。分区上task跑完后,rdd2分区一也有a,b两条数据,这就是窄依赖

宽依赖:

rdd1分区1有a,b,分区2有c,d。 shuffle后,rdd2分区一有a,c。分区二有b。d

也就是说分区数没变,但是每个分区数据变了。同时新分区数据来自多个旧分区。

3.阶段任务

application:每初始话一个sparkcontext就生成一个application

job:一个action生成一个job

stage:stage是shuffle(宽依赖)数加1.同时通过shuffle来划分stage

task:一个stage阶段中,最后一个rdd的分区数就是task个数。

app ->job->stage->task

每一层都是一对N的关系。

相关文章:

  • 基于SpringBoot+Vue+MySQL的志愿服务管理系统
  • C++和OpenGL实现3D游戏编程【目录】
  • .Net Gacutil工具(全局程序集缓存工具)使用教程
  • 中国矿业大学《2023年868+2007年自动控制原理真题》 (完整版)
  • JVM锁的优化与逃逸分析
  • 计算机毕业设计 智能推荐旅游平台 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • 【React架构 - Scheduler中的MessageChannel】
  • 【C++私房菜】序列式容器的迭代器失效问题
  • LiveGBS流媒体平台GB/T28181功能-查看国标设备下通道会话列表直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话
  • prime_series_level-1靶场详解
  • 2024年sCrypt编程马拉松即将开幕
  • http工具类
  • arthas 源码构建
  • hdoj 3549 Flow Problem(最大网络流)
  • RSA加密原理与RSA公钥加密系统、数字签名
  • [附源码]计算机毕业设计JAVA基于web的电子产品网络购物平台
  • Flutter组件--OverflowBox、SizedOverflowBox(子组件超出父组件裁剪)
  • C. String Equality(思维)
  • 算法日常训练11.21(808.分汤)
  • Webpack 5 超详细解读(二)
  • 新产品开发之C流程 (C-flow)
  • 果断型性格分析,果断型人格的职业发展
  • 交换综合实验以及链路聚合和VRRP
  • Unity游戏Mod/插件制作教程04 - 如何创建配置文件
  • 赋值运算符重载,取地址及const取地址操作符重载
  • 免费查题接口系统
  • ZYNQ之FPGA学习----RAM IP核使用实验
  • 政务系统信息网络安全的风险评估
  • Linux指定网卡名称
  • 25岁以后还适合花钱学编程,当程序员吗?
  • SpringCloud微服务(四)——Nacos服务注册和配置中心
  • 贪心算法 AND 动态规划