Spark任务划分概念

Application


使用 SparkSubmit 提交的个计算应用,一个 Application 中可以触发多次 Action,触发一次 Action 产生一个 Job,一个 Application 中可以有一到多个 Job

Job


Driver 向 Executor 提交的作业,触发一次 Acition 形成一个完整的 DAG,一个 DAG 对应一个 Job,一个 Job 中有一到多个 Stage,一个 Stage 中有一到多个 Task


DAG


概念:有向无环图,是对多个 RDD 转换过程和依赖关系的描述,触发 Action 就会形成一个完整的DAG,一个 DAG 对应一个 Job


Stage


概念:任务执行阶段,Stage 执行是有先后顺序的,先执行前的,在执行后面的,一个 Stage 对应一个TaskSet,一个 TaskSet 中的 Task 的数量取决于 Stage 中最后一个 RDD 分区的数量


Task


概念:Spark 中任务最小的执行单元,Task 分类两种,即 ShuffleMapTask 和 ResultTask

ShuffleMapTask输出的是shuffle分区结果

ResultTask输出的是最终结果

Task 的数量决定并行度,同时也要考虑可用的 cores

task中就是对FinalRdd(最后一个RDD)的迭代器的调用。


TaskSet


保存同一种计算逻辑多个 Task 的集合,一个 TaskSet 中的 Task 计算逻辑都一样,计算的数据不一样

  • spark源头Rdd会将数据源切分成多个分片并行处理,那么就有4个算子链
  • 将算子链根据是否shuffle进行拆分,reduceBykey会进行shuffle操作,因此产生两个stage
    • 第一个stage包含4个分区用4个task调度,这四个task就组成了一个taskset,这4个task不对外输出,只是中间流程,因此叫做shuffleMapTask
    • 第二个由于reduceByKey修改了分区数,所以变成了两个分区,那就用两个task调度,这两个task就组成了另一个taskset,这两个task是对外输出的因此叫做ResultTask
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark中,HDFS数据的划分任务的分配是通过两个相关的概念来完成的:数据划分(Partitioning)和任务调度(Task Scheduling)。 数据划分(Partitioning): 数据划分是将输入数据分割成多个数据块(Partitions)的过程。在Spark中,默认情况下,每个HDFS块都会被划分为一个数据分区。这意味着每个数据分区都包含了一个HDFS块的数据。Spark会根据输入数据的大小和集群中的节点数量自动确定数据分区的数量。 任务调度(Task Scheduling): 任务调度是将任务(Tasks)分配给集群中的节点来执行的过程。Spark使用一种称为任务调度器(Task Scheduler)的组件来管理任务的分配。任务调度器根据集群的资源情况和任务的依赖关系来决定任务的调度顺序。 在Spark中,默认的任务调度器是FIFO调度器(FIFO Scheduler),它按照任务提交的顺序进行调度。但是,Spark也支持其他调度器,如Fair调度器(Fair Scheduler)和容量调度器(Capacity Scheduler),它们可以根据不同的策略来进行任务的调度。 任务分配是由任务调度器来完成的,它会将任务分配给集群中的可用节点。通常情况下,每个节点可以同时执行多个任务,具体的并行度取决于节点的资源配置和可用的CPU核数。任务调度器会尽量将任务分配给负载较低的节点,以实现负载均衡和最优的资源利用。 需要注意的是,Spark还可以通过手动设置数据分区数量和任务并行度来进行更细粒度的控制。可以使用`repartition()`和`coalesce()`等操作来调整数据分区数量,使用`spark.default.parallelism`参数来设置默认的任务并行度。 综上所述,Spark通过数据划分任务调度来实现HDFS数据的划分任务的分配,以便高效地处理大规模数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值