简述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个分区数据,可以根据实际情况进行优化调参数。

相关推荐
IT研究室18 小时前
大数据毕业设计选题推荐-基于大数据的国家药品采集药品数据可视化分析系统-Spark-Hadoop-Bigdata
大数据·hadoop·信息可视化·spark·毕业设计·数据可视化·bigdata
安卓开发者18 小时前
鸿蒙NEXT应用数据持久化全面解析:从用户首选项到分布式数据库
数据库·分布式·harmonyos
Lx35219 小时前
Hadoop性能瓶颈分析:从JVM到磁盘IO的全链路优化
大数据·hadoop
大数据点灯人19 小时前
【Flink】Flink Runtime 开发指南
大数据·flink
一个java开发19 小时前
distributed.client.Client 用户可调用函数分析
大数据·python
JAVA学习通21 小时前
【RabbitMQ】如何在 Ubuntu 安装 RabbitMQ
分布式·rabbitmq
字节数据平台21 小时前
一客一策:Data Agent 如何重构大模型时代的智能营销
大数据·人工智能·重构
字节跳动数据平台21 小时前
《十六进制觉醒》:与我们一起,探索AI与数据的无限可能!
大数据
道一云黑板报21 小时前
Spark生态全景图:图计算与边缘计算的创新实践
大数据·性能优化·spark·边缘计算
Lansonli21 小时前
大数据Spark(六十三):RDD-Resilient Distributed Dataset
大数据·分布式·spark