spark:一些概念如并行度、分区数、task,stage等

定义: 并行度是指Spark任务可以同时执行的子任务(Task)的数量。

分区数: 一个RDD(弹性分布式数据集)被分成多个分区,每个分区对应一个Task。

因此,分区数直接决定了并行度的上限。这是因为如果分区数小于并行度,即使设置的并行度很大,但是没有那么多分区数来运行,所以实际的并行度会比设置的并行度小。

分区数是并行度的上限,但并行度不一定等于分区数。

一个分区对应一个Task,因此分区数决定了最多可以同时执行多少个Task。

Executor数量和核心数: Executor是Spark执行任务的工作单元,每个Executor可以同时执行多个Task。Executor的数量和每个Executor的核数共同决定了Spark集群的总计算资源,从而影响实际的并行度。

Executor数量和核心数决定了实际的并行度: Executor数量和核心数共同决定了Spark集群的总计算资源,从而影响实际的并行度。

分区数: 通常设置为集群中CPU核数的2-3倍。

同时设置并行度和分区数时,并行度小于分区数:Spark会以并行度为准,只启动与并行度相等的Task。剩余的分区会在后续的调度中被执行。

同时设置并行度和分区数时,并行度大于分区数:Spark会忽略多余的并行度设置,并以分区数为准。

动态分区:在Spark中,动态分区(Dynamic Partitioning)是一种在写入数据到Hive表时,根据数据本身的属性来决定分区键的值,从而实现自动分区的功能。与静态分区需要预先定义分区键不同,动态分区使得分区更加灵活,能够适应不断变化的数据。

窄依赖:父rdd的一个分区,全部将数据发给子rdd的一个分区

宽依赖 :父rdd的一个分区,将数据发给子rdd的多个分区。宽依赖也叫做shuffle。

**stage:**通常,从后向前,遇到宽依赖时,就会划分一个新的Stage。

相关推荐
张小凡vip7 小时前
数据挖掘(十)---python操作Spark常用命令
python·数据挖掘·spark
uesowys7 小时前
Apache Spark算法开发指导-Decision tree classifier
算法·决策树·spark
计算机毕业编程指导师8 小时前
大数据可视化毕设:Hadoop+Spark交通分析系统从零到上线 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·城市交通
计算机毕业编程指导师8 小时前
【计算机毕设选题】基于Spark的车辆排放分析:2026年热门大数据项目 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·车辆排放
Lansonli12 小时前
大数据Spark(七十九):Action行动算子countByKey和countByValue使用案例
大数据·分布式·spark
gis分享者1 天前
学习threejs,打造原生3D高斯溅落实时渲染器
spark·threejs·ply·高斯·splat·溅落·实时渲染器
鸿乃江边鸟1 天前
Spark Datafusion Comet 向量化Rust Native--读数据
rust·spark·native·arrow
看起来不那么蠢的昵称1 天前
Apache Spark 开发与调优实战手册 (Java / Spark 2.x)
java·spark
看起来不那么蠢的昵称2 天前
高性能 Spark UDF 开发手册
java·大数据·spark
亚林瓜子2 天前
AWS Glue任务中使用一个dynamic frame数据过滤另外一个dynamic frame数据
java·python·sql·spark·aws·df·py