用 MaxCompute Studio 查看作业排队详情

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

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

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

作业执行阶段的说明

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

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

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

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

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

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

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

打开作业所在的等待队列

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

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

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

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

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

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

未来规划

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

时间: 2024-11-01 17:34:47

用 MaxCompute Studio 查看作业排队详情的相关文章

【直播回顾】通过MaxCompute Studio实践大数据时代的DevOps

内容简介:阿里云大数据平台 MaxCompute 系统为开发者提供全托管的.PB 级的数据仓库解决方案,MaxCompute Studio 是 MaxCompute 新推出的数据集成开发环境(IDE),为开发者提供了 数据开发调试 - 命令行工具集成 - 自助作业分析诊断 的全面解决方案. 我将通过 MaxCompute Studio 的智能代码编辑能力.数据管理及浏览能力.作业可视化和自助诊断能力等展现 MaxCompute 平台的数据开发和部署的强大和敏捷性. 观众受益:带领大家实现数据仓库

MaxCompute Studio使用心得系列3——可视化分析作业运行

上一篇写分享了通过MaxCompute Studio 编写sql脚本时"编译"功能带来的便捷,这次分享脚本编译好提交运行后,自助查看作业的执行情况. 我们很熟悉的是通过logview,去分析作业的执行情况,logview上有很详细的执行日志,而Studio不仅仅提供可视化的信息,还会明确给出一些分析结论如job是有否长尾或数据倾斜情况. 比如我写完一个sql脚本,编译成功 接着执行脚本,Studio自动打开当前job的执行详细信息页面,包括job基本信息列表.详情展示和分析区(执行计划

MaxCompute Studio使用心得系列4——可视化查看所有job并分析运行情况

在使用MaxCompute的时候,很多同学会关注当前项目有多少任务在执行,哪些任务耗时长,哪些任务已经完成,并且能通过任务的logview来分析任务耗时长的原因. ofo的同学选择自己搭建任务管理平台通过sdk函数获取MaxCompute 相关job信息进行管理.如<MaxCompute的任务状态和多任务执行>所分享. 其他的没有精力自己搭建平台,可以通过show p -all;命令查看所有job,再通过wait instanceid;查看这个job的logview,最后通过logview再查

使用 MaxCompute Studio 开发大数据应用

MaxCompute(原ODPS)是阿里云自主研发的分布式大数据处理平台,为用户提供了开放的编程接口和 SDK,允许用户在其强大灵活的存储和计算能力之上开发自己的数据应用和系统,创造更大的价值. 为了能让这一过程更加顺畅高效,随着 MaxCompute 2.0 的发布,我们提供了 MaxCompute Studio,一套基于流行的集成开发平台 IntelliJ IDEA 的开发插件,让用户在集成开发环境(IDE)中更方便地进行数据开发. MaxCompute Studio 为开发者提供了良好的开

MaxCompute Studio 2.8.1 新版本发布啦!

新特性概览 1.[重磅介绍]可视化作业自助分析 2.[新增]可视化表结构编辑器 3.[新增]表.函数等全局查找器 4.[新增]浏览内建函数及使用说明 5.[优化]作业排队信息 新特性介绍 1. [重磅介绍]可视化作业自助分析 MaxCompute Studio 2.8.1 版本提供了全新的可视化 MaxCompute 作业自助分析功能 其中: 左侧窗格 为作业管理器(Job Explorer),显示作业列表,显示单个作业时可以收起,以节省空间,扩大作业详情显示面积. 右侧区域 为作业详情显示部分

MaxCompute Studio使用心得系列1——本地数据上传下载

MaxCompute Studio已经发布好久,一直没能好好体验,近期MaxCompute Studio 陆续推出很多好用的功能,今天开始给大家分享使用心得. 用过大数据开发套件的同学,对于本地数据上传下载,都会遇到这样的问题: '导入本地数据'功能,限制本地数据文件大小最大为10MB: 查询结果导出本地时,由于select语句返回结果最大为10000行的限制,最多只能导出1W数据: 数据导出本地文件的功能只有'查询结果导出本地'. 要解决以上问题,通常都是需要自己安装console客户端,通过

MaxCompute Studio提升UDF和MapReduce开发体验

UDF全称User Defined Function,即用户自定义函数.MaxCompute提供了很多内建函数来满足用户的计算需求,同时用户还可以创建自定义函数来满足定制的计算需求.用户能扩展的UDF有三种:UDF(User Defined Scalar Function),UDTF(User Defined Table Valued Function)和UDAF(User Defined Aggregation Function). 同时,MaxCompute也提供了MapReduce编程接口

阿里云全新一代企业级新品解读—通过MaxCompute Studio实践大数据时代的DevOps

今天是2017杭州·云栖大会的第一天,这场科技盛宴吸引了来自全球的参展商.开发者.相关从业人员以及科技爱好者.在今天上午的主论坛,阿里云总裁胡晓明在发言中重点提及的新一代计算平台MaxCompute会在本次大会中多次亮相. 作为大数据计算服务的基石,MaxCompute不仅会在本次大会上发布作为全球BigBench测评第一计算引擎的测评结果,更在14日上午举办阿里云大数据计算服务(MaxCompute)专场.同时也会在云栖大会落幕后,贴身为广大开发者奉上<通过MaxCompute Studio实

通过MaxCompute Studio创建UDF的简单介绍

UDF(User Defined Function), MaxCompute(原ODPS) 里的东西, 之前经常听到开发同学讲, 自己一直没有去接触, 最近因为项目需要, 调研了一下UDF, 本文简单地介绍了一下如何新建工程, 添加代码,打包,上传资源包和注册方法, 对初次接触的小白同学,可能会有所帮助. 1. 在 IntelliJ 中安装MaxCompute的插件, 如果已经安装了MaxCompute Studio 之前版本的用户在启动 IntelliJ 时会收到自动更新提示,按提示更新即可: