任务(Task)是 MaxCompute 的基本计算单元。SQL 及 MapReduce 功能都是通过任务完成的。
对于您提交的大多数任务,特别是计算型任务,例如:
SQL DML 语句,
MapReduce 等,MaxCompute 会对其进行解析,得出任务的执行计划。执行计划由具有依赖关系的多个执行阶段(Stage)构成。
目前,执行计划逻辑上可以被看做一个有向图,图中的点是执行阶段,各个执行阶段的依赖关系是图的边。MaxCompute会依照图(执行计划)中的依赖关系执行各个阶段。在同一个执行阶段内,会有多个进程,也称之为Worker,共同完成该执行阶段的计算工作。同一个执行阶段的不同 Worker只是处理的数据不同,执行逻辑完全相同。计算型任务在执行时,会被实例化,您可以操作这个实例(Instance)的信息,例如:
获取实例状态(Status Instance),
终止实例运行(Kill Instance)等。
另一方面,部分 MaxCompute 任务并不是计算型的任务,例如:SQL 中的 DDL 语句,这些任务本质上仅需要读取、修改 MaxCompute 中的元数据信息。因此,这些任务无法被解析出执行计划。
注意:
在 MaxCompute 中,并不是所有的请求都会被转化为任务(Task),例如: 项目空间(Project)、 资源(Resource)、 自定义函数(UDF) 及 实例(Instance) 的操作均不需要通过 MaxCompute 的任务来完成。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。