任务(Task)是MaxCompute的基本计算单元,用户通过编写SQL或者MapReduce程序来表达数据处理的逻辑,然后提交这些程序到MaxCompute服务上执行,MaxCompute会把这些程序转换为一个或多个任务,并在分布式环境中并行执行。

对于您提交的大多数任务,特别是计算型任务,例如SQL DML语句MapReduce,MaxCompute会对其进行解析,得到任务的执行计划。执行计划由具有依赖关系的多个执行阶段(Stage)构成。

目前,执行计划在逻辑上可以被看作一个有向图,图中的点是执行阶段,各个执行阶段之间的依赖关系是图的边。MaxCompute会依照图(执行计划)中的依赖关系执行各个阶段。在同一个执行阶段内,会有多个进程,也称之为Worker,共同完成该执行阶段的计算工作。同一个执行阶段的不同Worker只是处理的数据不同,执行逻辑完全相同。计算型任务在执行时,会被实例化,您可以对这个实例(Instance)进行操作,例如获取实例状态(Status Instance)终止实例运行(Kill Instance)等。

部分MaxCompute任务并不是计算型的任务,例如SQL中的DDL语句,这些任务本质上仅需要读取、修改MaxCompute中的元数据信息。因此,这些任务无法被解析出执行计划。

说明

在MaxCompute中,并不是所有的请求都会被转化为任务(Task),例如项目空间(Project)资源(Resource)自定义函数(UDF)实例(Instance)的操作均不需要通过MaxCompute的任务来完成。

相关文档

查看MaxCompute SQL对应的DML语句的执行计划结构,可使用explain语句,详情请参见EXPLAIN