用 MaxCompute Studio 查看作业排队详情

各位MaxCompute的用户及运维朋友,在日常使用中,您有没有遇到这种场景: 我作业提交了这么久,为啥还没看到计算任务执行?作业提交后状态一直是 RUNNING ,到底执行到了什么阶段?作业提交后只能等,也不知道完成的进度如何?为何当前作业一直在等待,到底什么作业正在占用着我的计算资源?
现在,为了解决用户的这些痛点,MaxCompute 正式上线了作业队列展示功能。用户可以通过 MaxCompute Studio 和 Logview 查看作业执行的详细阶段,查看计算集群的等待队列,从此不再对提交作业的执行状态一无所知。

用户可以根据队列详情优化自己的作业优先级和调度机制,从而进一步提高计算资源的利用率。

本文首先对MaxCompute作业执行的各个阶段进行说明,然后以MaxCompute Studio为例,说明如何查看作业排队位置,查看队列详情以及作业状态转换历史信息。
注意:本文所说的作业只针对SQL和MR类型,MaxCompute之上运行的其他类型的作业,可能会有不同的调度机制。

作业执行阶段的说明

image1

MaxCompute 作业的生命周期如图所示,作业提交后,首先会在控制集群上进行预处理和优化,生成执行计划;然后会提交到计算集群对应的优先级队列等待分配计算资源;
分配到第一片计算资源后,作业开始正式执行。对于一些异常情况,还可能会出现回退、重新执行等状态。

在排队功能上线之前,所有上述阶段的作业状态都会展示为RUNNING,用户无法知道自己提交的作业进行到哪一个阶段。现在,可以通过作业的substatus属性查看运行中作业的详细状态。substatus具体的状态码说明如下:

IDDescription备注
1010Waiting for scheduling作业已提交,准备调度
1011Waiting for cluster resource等待作业资源
1012Waiting for concurrent task slot等待并发执行资源
1013Waiting for data replication等待数据复制
1020Waiting for execution等待作业处理
1030Preparing for execution准备进行作业处理
1050Task rerun重新执行
1090Execution failed执行失败
1210SQLTask is initializingSQL作业初始化中
1220SQLTask is compiling querySQL作业编译中
1230SQLTask is optimizing querySQL作业优化中
1240SQLTask is generating execution planSQL作业生成执行计划中
1250SQLTask is running the plan on fuxiSQL作业调度执行中
1260SQLTask is update meta informationSQL作业更新元数据信息
1270SQLTask is finishingSQL作业成功结束

如何查看作业队列和优先级

MaxCompute Studio从2.7.0版本开始提供作业队列查看的功能。通过Job Explorer查看用户提交的正在运行中的所有作业:

image2

作业在计算集群正式开始执行之前状态为 WAITING,通过hover tooltips可以查看状态详情。
对于处在排队队列中的作业,可以在 排队位置/优先级 列里面看到作业的排队位置和全局优先级。排队位置(Position)值为0表示作业已经分配到计算资源,开始执行。排队位置为正整数n时,表示前面还有n-1个作业在同一队列中等待资源
全局优先级是基于项目空间的优先级以及用户提交作业的priority属性计算出来的,值越大表示优先级越低。

作业分配到计算资源后的状态为 RUNNING

打开作业所在的等待队列

对于排队中的作业,可以点击 排队位置/优先级 列 打开作业所在的等待队列:

image3

排队队列中展示了同一个项目空间内所有未执行结束的作业。其中,未进入排队队列的作业展示在最前方,表示为 -/- ;进入队列等待计算资源的作业按照排队位置有序;已经进入计算集群运行以及计算结束正在执行后处理操作的作业展示在最后。如下图:

image4

用户可以通过排队队列可以轻松看出项目空间内排列在自己作业之前的作业以及长时间占用计算资源的作业。可以据此优化作业优先级及调度策略。

排队队列的详细说明可以在阿里云官网查看 MaxCompute Studio 的使用文档获取。

作业队列中双击 状态详情 列可以查看该作业的状态转换信息。可以看到作业执行各个阶段及执行时间信息。

对于运行中的作业,也可用从作业详情中直接打开所在的排队队列,如图中所示,点击 排队队列 对应的链接:

image5

未来规划

为了帮助用户更好的了解作业运行状态,MaxCompute之后会提供用户作业进度信息,预估作业的执行进度和结束时间。并且会将作业状态转换详情持久化到meta里以便用户在作业结束后进行性能分析和作业比较。同时,也非常欢迎广大用户朋友提出自己的需求和建议,我们一起努力,让MaxCompute成为更好的大数据分析平台。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值