本文为您介绍Logview 2.0的功能及使用,本文简称Logview。您可以通过Logview URL查看作业运行信息。

概述

Logview是MaxCompute作业运行状态信息记录与展现的一个工具,目前支持如下功能:
  • 支持以交互式DAG图展示作业处理逻辑架构,您还可以查看相应的Operation层级。
  • 支持回放作业运行过程。
  • 支持通过Fuxi Sensor查看内存及CPU使用情况。

Logview入口

当您提交运行MaxCompute作业时,系统会自动生成一个以https://logview.aliyun.com/logview开头的URL地址。
  • 使用MaxCompute客户端(odpscmd)提交作业后,您需要手工复制该地址到浏览器中访问。
  • 使用DataWorks提交作业后,您直接点击链接就可以打开Logview界面。
Logview界面如下。URL界面
序号 区域
标题与功能区,详情请参见标题和功能区
Basic Info,详情请参见Basic Info
作业详情,详情请参见作业详情

标题和功能区

标题与功能区包含您提交MaxCompute作业时生成的唯一作业ID及您自定义的作业名称(通过SDK方式提交的作业包含作业名称信息)。您还可以执行如下操作。
图标 功能
打开 打开本地保存的作业详情文件Logview_detail.txt。
返回 返回Logview 1.0版界面。
保存 将作业详情文件保存至本地设备。

Basic Info

Basic Info区域展示的作业基本信息如下。
参数名 描述
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 作业在资源配额组内的排队位置。

作业详情

您可以通过作业详情区域全方位了解作业,作业详情区域包含如下功能区:

Job Details

  • 作业执行图
    Job Detail页签的上半部分为作业执行图。执行图以可视化方式展示三个维度的子任务依赖关系:Fuxi Job层、Fuxi Task层和Operation层,同时提供一系列辅助工具,为排查问题提供帮助。界面构成如下。作业执行图
    序号 描述
    面包屑导航,用于切换Fuxi Job。JOB:_SQL_0_0_0_job_0为Fuxi Job名称。
    排查问题辅助工具。包含Progress Chart、Input Heat Chart、Output Heat Chart、TaskTime Heart Chart和InstanceTime Heart Chart。
    您可以在此区域刷新作业执行状态(刷新)、全屏或缩放显示作业执行图(全屏)、获取MaxCompute Studio文档(帮助)和切换至任务上一层级(切换层级)。
    缩放辅助工具。
    Fuxi Task。一个MaxCompute作业由一个或多个Fuxi Job组成。每个Fuxi Job由一个或多个Fuxi Task组成。每个Fuxi Task由一个或者多个Fuxi Instance组成,当用户的输入数据量变大时,MaxCompute会在每个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读取和写的行数。

    单击某个Task或在Task上单击右键可以查看Task对应的Operator算子依赖关系及全部Operator算子图。

    您可以快速查看输入和输出表。

    Fuxi Task回放。单击播放即可开始播放,再次单击则暂停。您也可以手动拖动进度条。进度条左边为开始时间,中间为播放时间,右边为结束时间。
    鹰眼。
    说明
    • 不支持回放Running状态的Fuxi Task。
    • AlgoTask类型的作业(例如PAI机器学习),由于只有一个Fuxi Task,故不提供作业执行图。
    • 非SQL类型作业,仅能展示Fuxi Job和Fuxi Task层,不支持展示Operation层。
    • 如果只有一个Fuxi Job,作业执行图默认展示Fuxi Task层依赖关系;否则,默认展示Fuxi Job层依赖关系。
  • 作业运行情况
    Job Detail页签的下半部分为作业运行详细信息。界面构成如下。运行结果
    序号 描述
    Fuxi Job页签,您可以在此切换Fuxi Job。
    Fuxi Job对应的Fuxi Task详情。在某个Fuxi Job下,单击任一Fuxi Task,在下方会展开该Fuxi Task对应的Fuxi Instance信息。默认展开第一个Fuxi Job的第一个Fuxi Task的Fuxi Instance信息。
    对于AlgoTask类型作业,此区域会提供Sensor列,您可以单击Fuxi Task对应的Sensor查看Fuxi Instance的CPU及内存信息。
    说明 Fuxi Sensor功能在西南1(成都)、华南1(深圳)、华东2(上海)、华东1(杭州)、华北3(张家口)和华北2(北京)区域已开放。
    Logview为不同阶段的Instance进行了分组。您可以单击Failed快速查看出错的节点。
    Fuxi Instance。
    • StdOut和StdErr。您可以查看输出和错误信息,您自己打印的信息也可以在这里查看,同时提供下载功能。
    • Debug。调测并排除错误。

Fuxi Sensor

Fuxi Sensor是展示MaxCompute作业全维度的资源视图。您可以通过Fuxi Sensor查看Fuxi Instance的CPU及内存消耗量。Fuxi Sensor是作业问题定位以及作业运行质量分析的重要工具。例如以下场景的作业问题可借助Fuxi Sensor进行分析:
  • 作业内存溢出时,分析实际使用的内存量。
  • 对比作业申请的资源量与实际使用资源量,优化资源申请。
例如,您可以通过Fuxi Sensor查看机器学习作业Fuxi Instance的以下资源使用情况:
  • CPU使用量
    CPU指标包括两条线,一条显示申请的CPU量(cpu_plan),另一条显示实际的CPU使用量(cpu_usage)。纵坐标中的400,表示4个Processor。CPU
  • 内存使用量

    内存指标包括两条线,一条显示申请的内存量(mem_plan),另一条显示实际的内存使用量(mem_usage)。

    内存使用量(mem_usage)包括两部分信息RSS(Resident Set Size)和PageCache。RSS是Malloc(非文件映射)发生缺页之后的内存,该部分内存,在内存紧张时无法被回收。PageCache是内核缓存文件占用的内存,例如读写日志文件,PageCache在内存紧张时通常是可以被回收。
    • 内存详情内存
    • RSS内存使用量RSS
    • PageCache内存使用量Page-cache

Result

Result页签显示的内容有如下两种情况:
  • 当前作业运行成功,显示的为运行结果。
    • 您可以使用如下面命令选择关闭显示运行结果。
      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;
  • 当前作业运行失败,显示的为失败原因。

SourceXML

  • XML

    在该页签下以XML方式显示作业等级以及Task相关信息。

  • Settings

    在该页签下显示了当前Task的相关Setting信息。

  • Command

    在该页签下显示了当前Task的相关Flag设置情况。

SQL Script

该页签下显示当前Task的SQL运行脚本。

History

该页签下显示了当前Task的运行历史记录。

SubStatusHistory

在该页签下显示了当前SubTask的运行状态,具体含义如下。substatus
状态 说明
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 作业执行失败。