MaxCompute的Logview分析详解

文章目录

一、Logview简介

1、概述

Logview是MaxCompute作业运行状态信息记录与展现的一个工具,目前支持如下功能:

shell 复制代码
1.支持以交互式DAG图展示作业处理逻辑架构, 查看相应的Operation层级。

2.支持回放作业运行过程。

3.支持通过Fuxi Sensor查看内存及CPU使用情况。

2、标题与功能

分别对应以下功能

bash 复制代码
MaxCompute作业时生成的唯一作业ID
打开本地保存的作业详情文件Logview_detail.txt。
返回Logview 1.0版界面。
将作业详情文件保存至本地设备。

3、基础信息

参数 描述
MaxCompute Service 作业使用的MaxCompute服务的Endpoint。Endpoint详情请参见Endpoint。
Project 作业所属的MaxCompute项目名称。
Cloud account 提交作业的阿里云账号信息。
Type 作业的类型。例如SQL、SQLRT、LOT、XLib、CUPID、AlgoTask和Graph。
Status 作业的状态。状态取值如下: Success:作业执行成功。 Failed:作业执行失败。 Canceled:作业执行取消。 Waiting:作业正在MaxCompute中处理,并没有提交至Fuxi中运行 Running:作业正在Fuxi中处理。 Terminated:作业已执行结束。
Start Time 作业提交时间。
End Time 作业执行结束时间。
Latency 作业执行消耗的时长。
Progress 作业执行进度。
Priority 作业优先级。
Queue 作业在资源配额组内的排队位置。

二、作业详情

1、Job Details

主要介绍下Fuxi Task

MaxCompute作业由一个或多个Fuxi Job组成。

每个Fuxi Job由一个或多个Fuxi Task组成。

每个Fuxi Task由一个或者多个Fuxi Instance组成
一个MaxCompute作业由一个或多个Fuxi Job组成 Fuxi Job由一个或多个Fuxi Task组成 Fuxi Task由一个或者多个Fuxi Instance组成 MaxCompute作业 Fuxi Job Fuxi Task Fuxi Instance

简单的MapReduce通常会产生两个Fuxi Task,一个是Map一个是Reduce,两个Fuxi Task的名称分别为M1和R2,当SQL比较复杂时,可能会产生多个Fuxi Task。

您可以在执行界面上看到每个Fuxi Task的名称。例如M1,表示一个Map Task;R4_3_9的3、9表示它依赖M3、C9_3执行结束才能开始执行。同理,M2_4_9_10_16表示M2要依赖R4_3_9、C9_3、R10_1_16、C16_1四个Task执行结束后才能开始执行。R/W表示Task读取和写的行数。

注意事项:

bash 复制代码
不支持回放Running状态的Fuxi Task。

AlgoTask类型的作业(例如PAI机器学习),由于只有一个Fuxi Task,故不提供作业执行图。

非SQL类型作业,仅能展示Fuxi Job和Fuxi Task层,不支持展示Operation层。

如果只有一个Fuxi Job,作业执行图默认展示Fuxi Task层依赖关系;否则,默认展示Fuxi Job层依赖关系。

2、Fuxi Sensor

AlgoTask和CUPID类型作业,此区域会提供Sensor列,您可以单击Fuxi Task对应的Sensor查看Fuxi Instance的CPU及内存信息。Fuxi Job分类如下:

powershell 复制代码
M:数据扫描的作业。

R:R开头的是Reduce Job。

J: J开头的是Join Job。

C:C开头的作业是一个虚拟节点,不涉及任何计算,只做判断选择分支使用。

Fuxi Sensor功能在西南1(成都)、华南1(深圳)、华东2(上海)、华东1(杭州)、华北3(张家口)和华北2(北京)区域已开放。
Fuxi Task会有可能因为interrupted状态而重试运行,此时Progress只显示重试运行部分的进度,所以会出现整个作业已经执行成功但是此Fuxi Task的Progress不是100%的现象,此为正常显示。

3、Result

①当前作业运行成功,显示的为运行结果。

sql 复制代码
如下面命令选择关闭显示运行结果。
setproject odps.forbid.fetch.result.by.bearertoken=true;

如下Flag参数改变显示结果样式。
--CSV格式
set odps.sql.select.output.format=csv;
--Text格式
set odps.sql.select.output.format=HumanReadable;

②当前作业运行失败,显示的为失败原因。

4、SourceXML

powershell 复制代码
XML: 在该页签下以XML方式显示作业等级以及Task相关信息。
Settings: 在该页签下显示了当前Task的相关Setting信息。
Command: 在该页签下显示了当前Task的相关Flag设置情况。

5、SQL Script

显示当前Task的SQL运行脚本。

6、History

显示了当前Task的运行历史记录。

7、SubStatusHistory

显示了当前SubTask的运行状态

状态 解释
Waiting for scheduling 作业已提交,等待MaxCompute框架调度,通常时间很短。
Waiting for cluster resource MaxCompute框架发现Fuxi计算集群没资源,等待中。
Waiting for concurrent task slot Project级别流控,Project可以设置并行提交SQL个数。
Waiting for data replication 等待数据复制。
Waiting for execution slot 系统级别流控。
Waiting for cleaning up of previous task attempt 等待清理执行历史完成。
Waiting for execution 从父进程队列拿出来分发给子进程执行过程,通常很快。
Preparing for execution 明确知道交给子进程,如果子进程出问题才会时间长。
Task is executing 作业在框架处理中。
SQLTask is initializing SQL作业初始化中。
SQLTask is compiling query SQL作业编译中。
SQLTask is optimizing query SQL作业优化Query,如果执行计划复杂,优化时间会稍长,但过长可能就是出问题了。
SQLTask is splitting data sources SQL作业优化中,切分Data Sources。
SQLTask is generating execution plan SQL作业生成执行计划中,时间长可能是读取分区太多,或者小文件太多。
SQLTask is submitting execution plan SQL作业提交执行计划。
Job has been submitted 作业提交计算集群。
Offline Job Waiting for running 作业提交计算集群后发现Fuxi集群Quota组无资源,此状态表示作业在等待计算资源。作业提交计算集群前本来以为有计算资源,实际提交后发现无计算资源,就会等待。此状态只会出现一次,后续就算没有计算资源也不会再显示。
Offline Job is running Fuxi作业执行中, 如果运行中无资源,会一直保持该状态。例如高优先级作业抢占资源,导致部分Fuxi Instance不能运行,状态为ready。
Offline Job is failed Fuxi作业执行失败。
Offline Job is succeed Fuxi作业执行成功。
SQLTask is updating meta information SQL作业更新元数据信息状态,生成动态分区时,时间可能会稍长。
SQLTask is finishing SQL作业执行结束。
Online Job is cancelled by fuxi Service Mode模式被取消。
Task rerun 作业重跑,可能是Service Mode模式执行失败,采用离线模式,也可能是数据跨集群复制。
Online Job Waiting for running Service Mode模式等待运行。
Online Job is running Service Mode模式运行中。
Online Job is failed Service Mode模式执行失败。
Online Job is succeed Service Mode模式运行成功。
Online Job is cancelled by fuxi Service Mode模式作业被取消。
Task key-path executing finished 作业关键路径完成,但是Detailstatus等尚未完成.
Task key-path is finished 作业关键路径完成。
Instance key-path is finished Instance关键路径完成。
Task execution is finished 作业处理完成,生成DetailStatus。
Instance execution is finished 作业处理完成。
Execution failed 作业执行失败。

三、分析调优

四、常见报错

相关推荐
还是大剑师兰特5 小时前
Flink面试题及详细答案100道(1-20)- 基础概念与架构
大数据·flink·大剑师·flink面试题
是乐谷6 小时前
阿里云杭州 AI 产品法务岗位信息分享(2025 年 8 月)
java·人工智能·阿里云·面试·职场和发展·机器人·云计算
189228048618 小时前
NY243NY253美光固态闪存NY257NY260
大数据·网络·人工智能·缓存
武子康9 小时前
大数据-70 Kafka 日志清理:删除、压缩及混合模式最佳实践
大数据·后端·kafka
玩转以太网9 小时前
3 种方式玩转网络继电器!W55MH32 实现网页 + 阿里云 + 本地控制互通
网络·物联网·阿里云
CCF_NOI.10 小时前
解锁聚变密码:从微观世界到能源新未来
大数据·人工智能·计算机·聚变
杨荧10 小时前
基于Python的电影评论数据分析系统 Python+Django+Vue.js
大数据·前端·vue.js·python
数据智研11 小时前
【数据分享】上市公司创新韧性数据(2007-2023)
大数据·人工智能
辞--忧17 小时前
双十一美妆数据分析:洞察消费趋势与行业秘密
大数据
时序数据说1 天前
国内时序数据库概览
大数据·数据库·物联网·时序数据库·iotdb