Job、Stage、Task划分过程

Job、Stage、Task划分过程,第1张

一、关系概览

二、Job/Stage/Task关系

一个Spark程序可以被划分为一个或多个Job,划分的依据是RDD的Action算子,每遇到一个RDD的Action *** 作就生成一个新的Job。

每个spark Job在具体执行过程中因为shuffle的存在,需要将其划分为一个或多个可以并行计算的stage,划分的依据是RDD间的Dependency关系,当遇到Wide Dependency时因需要进行shuffle *** 作,这涉及到了不同Partition之间进行数据合并,故以此为界划分不同的Stage。

Stage是由Task组组成的并行计算,因此每个stage中可能存在多个Task,这些Task执行相同的程序逻辑,只是它们 *** 作的数据不同。

一般RDD的一个Partition对应一个Task,Task可以分为ResultTask和ShuffleMapTask。

补充说明:

多个Stage可以并行(S1/S2),除非Stage之间存在依赖关系(S3依赖S1+S2)。

三、RDD/Partition/Records/Task关系

通常一个RDD被划分为一个或多个Partition,Partition是Spark进行数据处理的基本单位,一般来说一个Partition对应一个Task,而一个Partition中通常包含数据集中的多条记录(Record)。

注意不同Partition中包含的记录数可能不同。Partition的数目可以在创建RDD时指定,也可以通过reparation和coalesce等算子重新进行划分。

通常在进行shuffle的时候也会重新进行分区,这是对于key-valueRDD,Spark通常根据RDD中的Partitioner来进行分区,目前Spark中实现的Partitioner有两种:HashPartitioner和RangePartitioner,当然也可以实现自定义的Partitioner,只需要继承抽象类Partitioner并实现numPartitions and getPartition(key: Any)即可。

四、运行层次图

Tasker是一个让安卓系统根据用户定制的”配置文件”(Profiles),在特定的”背景”下(Contexts),执行指定”任务”(Tasks)的软件,除此之外,它还提供”可供点击”的(Clickable)或”定时运行”的(Timer)桌面”插件”(Widget)。

Android上的Tasker绝对称得上是Android系统的神器之一,与Auto Memory Manager不同,Tasker不是加速型的软件,而是系统增强型的软件,由于有众多系统状态可控制,故使得Tasker一跃成为Android系统中最闪亮的明星。

但Tasker也无疑是最难使用的软件,由于可以控制的地方太多,反而让人觉得有些无所适从,不知道要从哪开始下手,使得Tasker的普及很成问题。这篇文章就是从Tasker的功能谈起,结合设置实例,指导Tasker的使用方法。由于Tasker的功能实在太强大,本文也不可能面面俱到,只是一个初级的设置指导,更多的功能还是需要靠用户自己去发掘。

function只是草稿纸,task是验证用途的。

verilog中task和function的区别:

module: 电路;sub-program (task, function): 电路的测试程序(test bench)

module是物理电路,function只是草稿纸,task是验证用途的。完全没有任何联系。function里实现的功能,必须是电路开始工作之前就能执行运算的功能,task不能写在实际电路中。

任务(task)

任务就是封装在task-endtask之间的一段语句任务是通过调用来执行的,也只能通过调用来执行,如果定义了任务,但整个过程都没有调用它,它是不会执行的。调用任务时可能需要它来处理某些数据并返回 *** 作结果,所以任务应当有接受数据的输入端和返回数据的输出端。另外,任务可以彼此调用,任务还可以调用函数。

在定义任务时,有下列六点需要注意:

1、在第一行task语句中不能列出端口名称。

2、任务的输入、输出和双向端口数量不受限制,甚至可以没有输入、输出和双向端口。

3、在任务定义的描述语句中,可以出现不可综合 *** 作符合语句,但这样会造成任务不可综合。

4、在任务中可以调用其他的任务或函数,也可以调用自身。

5、在任务定义结构中不可出现initial和always语句。

6、在任务定义中可以出现“disable中止语句“,将中断正在执行的任务,但其是不可综合的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12080412.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存