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 作业执行失败。

三、分析调优

四、常见报错

相关推荐
牛企老板俱乐部11 小时前
广东机器人结构验证手板产业格局:深圳珠海东莞三城分析
大数据·人工智能
Keystone_Onion11 小时前
基于5大仓群路由算法的中大件美国海外仓降本架构与数据实测分析
大数据
buligbulig11 小时前
智能电网的数据底座:电力行业大数据治理路径解析
大数据
ltqvibe12 小时前
企业AI改造的四层路径:从点上应用到企业大脑
大数据·人工智能·本体语义平台·企业ai改造·数据打通·企业大脑·企业认知基础设施
anxiao_m12 小时前
园区数字孪生怎么搭建?主流方案与服务商深度对比
大数据·运维·人工智能
stonewl259913 小时前
2026化工企业标签打印自动化方案
大数据
独隅13 小时前
VS Code Git 工作树多分支并行开发实战指南
大数据·git·elasticsearch
千维百策66613 小时前
AI 软件开发中的人与智能体:软件工程循环、人在环路中与框架工程
大数据·人工智能·软件工程
梦伢mm14 小时前
直播切片素材不足,易元 AI 可以自动拆分直播视频做带货素材吗?
大数据
Lalolander15 小时前
2026年成长型企业上金蝶,抓3个重点(预算有限如何起步)
大数据·制造·erp·金蝶erp·erp实施·金蝶ai星空