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

三、分析调优

四、常见报错

相关推荐
RestCloud1 小时前
ETLCloud中数据生成规则使用技巧
大数据·服务器·数据库·etl·数字化转型·数据处理·集成平台
Jack_hrx7 小时前
从0到1构建高并发秒杀系统:实战 RocketMQ 异步削峰与Redis预减库存
大数据·rocketmq·高并发·秒杀系统实战·异步削峰
Mikhail_G9 小时前
Python应用八股文
大数据·运维·开发语言·python·数据分析
Elastic 中国社区官方博客14 小时前
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
大数据·开发语言·javascript·elasticsearch·搜索引擎·全文检索·apache
lifallen16 小时前
Flink task、Operator 和 UDF 之间的关系
java·大数据·flink
源码宝17 小时前
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
java·大数据·源码·智慧工地·智能监测·智能施工
XiaoQiong.Zhang18 小时前
简历模板3——数据挖掘工程师5年经验
大数据·人工智能·机器学习·数据挖掘
慕木兮人可18 小时前
关于阿里云-云消息队列MQTT的连接和使用,以及SpringBoot的集成使用
spring boot·物联网·mqtt·阿里云·云计算
conkl19 小时前
Apache网页优化实战指南 - 让网站加载速度提升
linux·运维·服务器·开发语言·阿里云·apache