简述Spark的宽窄依赖以及Stage是怎么划分的以及每个stage又是怎么划分task任务数

首先是Spark宽窄依赖的定义:

简单来理解的话,窄依赖就是父RDD的每个分区最多被一个子RDD所依赖,是一对一依赖,这种情况的操作例如union,flatMap这样的操作,不会产生shuffle。

宽依赖有别名叫做shuffle依赖,就是父RDD的每个分区会被多个子RDD所依赖,例如ReduceByKey,join这样的操作,会产生shuffle

所以划分Stage的边界就是宽依赖,而窄依赖会被流水线话的合并到同一个Stage中进行处理

在Stage中,决定Task数量有两方面的task数据:

一方面是shuffle中的shuffleMapStage的task数据会根据上游EDD的分区数进行划分,有多少个分区就有多少个Task数据。

另外的resultSta的task数据则会根据下游最终那个RDD的需要所分区数据进行分区,这里我们可以进行通过参数控制task的数据,那么就会有200个task任务数,默认是200个分区数据,可以根据实际情况进行优化调参数。

相关推荐
商业讯网19 小时前
国家电投海外项目运营经验丰富
大数据·人工智能·区块链
面向Google编程9 小时前
Flink源码阅读:Mailbox线程模型
大数据·flink
Elastic 中国社区官方博客10 小时前
使用 Elastic 中的 OpenTelemetry 为 Nginx 实现端到端分布式追踪的实用指南
大数据·运维·分布式·elasticsearch·搜索引擎·信息可视化·全文检索
aliprice10 小时前
逆向拆解:用速卖通图片搜索破解竞品设计,找到你的差异化定价空间
大数据·跨境电商·电商
hg011811 小时前
埃及:在变局中重塑发展韧性
大数据·人工智能·物联网
win x11 小时前
Redis 分布式锁
数据库·redis·分布式
向量引擎小橙11 小时前
“2026数据枯竭”警报拉响:合成数据如何成为驱动AI进化的“新石油”?
大数据·人工智能·深度学习·集成学习
飞Link11 小时前
【大数据】SparkSQL常用操作
大数据·数据挖掘·spark
m0_4665252912 小时前
东软添翼AI 2.0获评医疗健康标杆AI Agent TOP10
大数据·人工智能
光算科技12 小时前
AI重写工具导致‘文本湍流’特征|如何人工消除算法识别标记
大数据·人工智能·算法