通过Logview 2.0查看MaxFrame作业

更新时间:
复制 MD 格式

Logview是MaxCompute作业运行状态信息记录与展现的一个工具,目前已经适配MaxFrame,本文为您介绍如何通过Logview 2.0查看MaxFrame作业的运行信息。

概述

Logview 2.0已适配MaxFrame,并支持以下功能:

  • 查看MaxFrame Session中提交的所有DAG的执行记录、运行耗时等信息。

  • 交互式查看每个DAG中的SubDAG的执行顺序、运行时间、算子拓扑和状态关系。

  • 支持查看每个子实例的设置、运行状态、内存和CPU等资源使用情况。

Logview的通用能力可以查看文档使用Logview 2.0查看作业运行信息,本文主要介绍查看MaxFrame作业的相关运行信息。

Maxframe Logview入口

当您使用session = new_session(...) 创建任意Session之后,系统会自动生成一个以 https://logview.aliyun.com/logview开头的URL地址。

  • 在DataWorks使用MaxFrame提交作业后,直接单击URL地址就可以打开Maxframe Logview界面。

  • 在本地环境使用MaxFrame提交作业时,您可以使用session.get_logview_address()方法来获取并打印URL地址,然后将该地址复制到浏览器中进行访问。

Maxframe Logview界面如下:

image

序号

区域

①

标题与功能区,详情请参见标题与功能区。

②

Basic Info,详情请参见Basic Info。

③

DAG列表,详情请参见DAG列表。

标题与功能区

标题与功能区包含您提交作业时生成的唯一作业ID及您自定义的作业名称,您还可以执行如下操作。

图标

功能

image

获取Maxframe Logview URL地址。

image

将作业详情文件保存至本地设备。

image

停止当前作业进程。

image

打开本地保存的作业详情文件Logview_detail.txt。

image

打开Job列表,查看指定项目下的Job信息。

image

设置是否启用自动刷新,若启用后间隔10秒刷新一次。

DAG列表

DAG列表展示按照execute调用的先后顺序逆序排列,即最新提交的作业会显示在前面,基本信息如下表所示。

参数名

描述

Id

DAG ID,每次execute执行时产生的代表该执行的唯一Id。

Detail

单击image,查看对应Sub DAG详情。

Start Time

DAG提交的时间。

End Time

DAG运行结束的时间,如果为空表示当前仍然在运行中。

Duration

DAG运行时长,即自Start Time开始至结束时间或当前时间的时间。

Status

作业的状态。取值说明如下:

  • Preparing:DAG解析中,尚未开始执行。

  • Running:DAG运行中。

  • Succeeded:DAG执行成功。

  • Failed:DAG执行失败。

  • Cancelling:DAG正在取消中。

  • Cancelled:DAG已取消。

Description

DAG的描述信息。

Sub DAG详情

Sub DAG详情页面如下图所示。

image

序号

区域

①

Sub DAG Graph显示区域,详情请参见Sub DAG Graph。

②

Sub DAG列表,详情请参见Sub DAG列表。

③

Sub DAG的Instance列表,详情请参见Instance列表。

④

Sub DAG的Basic Info,详情请参见Basic Info。

Sub DAG Graph

Sub DAG Graph用于快速理解当前DAG的详情。

image

序号

描述

①

当前的Sub DAG ID,单击可以返回到DAG列表页面。

②

面包屑导航,用于切换Sub DAG任务层级。

③

排查问题辅助工具。包含Progress Chart、Input Heat Chart、Output Heat Chart、TaskTime Heat Chart和InstanceTime Heat Chart。

④

您可以在此区域刷新作业执行状态(刷新)、全屏或缩放显示作业执行图(全屏)、获取MaxCompute Studio文档(帮助)和切换至任务上一层级(切换层级)。

⑤

缩放辅助工具。

⑥

表节点,代表一张ODPS Table。

⑦

Sub DAG节点,主要包含如下内容:

  • STAGE_X:SubDAG的名称,序号代表执行顺序,从1开始编号,依次递增。

  • X/X/X(例如:0/5/5):代表当前SubDAG中ODPS Instance的不同状态的数量,分别为运行中的Instance个数/完成Instance个数/总Instance个数。

  • 起止时间。

  • MCSQL:表示当前SubDAG执行的引擎。

  • OP 1:表示当前SubDAG中包含一个算子,双击该节点可以查看算子图。

⑧

数据流,表示STAGE之间或STAGE与表之间的数据流向。

⑨

画布预览空间。

Sub DAG列表

该列表展示了当前DAG中所有的Sub DAG的运行信息,按时间顺序排序。

image

参数

描述

Sub DAG

当前Sub DAG名称。

Failed/Terminated/ALL

当前Sub DAG中,处于不同状态的ODPS Instance的数量。

说明

如果遇到 (+X Fallback) 则表示有X个Instance发生了MCQA到Offline SQL的计算降级,并不是数据出错。

Status

当前Sub DAG的运行状态。

  • Failed:执行失败。

  • Cancelled:已经取消。

  • Running:正在执行中。

  • Succeeded:已执行成功结束。

Progress

Sub DAG的进度。

说明

如果在Running状态下达到100%仅表示当前需要处理的Instance已经全部完成,不代表 SubDAG已经执行完成。

Start Time

Sub DAG提交时间。

End Time

Sub DAG结束时间。

Duration

Sub DAG运行时长。

Timeline

时间轴预览,可以通过该时间轴查看启动的先后顺序和耗时占用。

Instance列表

该列表展示了Sub DAG相关的ODPS Instance作业。

image.png

参数

描述

Instance ID

ODPS Instance作业ID。

Status

作业运行状态。

  • Failed:执行失败。

  • Cancelled:已取消。

  • Running:正在执行中。

  • Terminated:已执行成功结束。

  • Fallback:以一种降级的方式运行,会形成一条新的Instance记录。

  • Unknown_terminated:已经执行完成,但未检测到是成功或失败。

Detail

作业详情。

Start Time

作业提交时间。

End Time

作业结束时间。

Duration

作业运行时长。

Timeline

时间轴预览,可以通过该时间轴查看启动的先后顺序和耗时占用。

Fuxi Sensor

Fuxi Sensor是展示MaxFrame作业全维度的资源视图。您可以通过Fuxi Sensor查看Fuxi Instance的CPU及内存的实际消耗量。Fuxi Sensor是作业问题定位以及作业运行质量分析的重要工具。例如以下场景的作业问题可借助Fuxi Sensor进行分析:

  • 作业内存溢出时,分析实际使用的内存量。

  • 查看MaxFrame作业Fuxi Instance的以下资源使用情况:

    • CPU使用量

      CPU指标包括两条线,一条显示申请的CPU量(cpu_plan),另一条显示实际的CPU使用量(cpu_usage)。纵坐标中的400,表示4个Processor。目前用户只可以通过调整Processor的个数来调整申请的CPU量,目前用户无法调整CPU使用量。CPU

    • 内存使用量

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

      内存详情内存

使用场景

查看执行耗时最长的阶段

在DAG列表、SubDAG列表和Instance列表中,都可以通过查看Timeline列,快速地找到当前层级耗时最长的DAG、SubDAG或Instance。

image

说明

若您的列表过长并且需要进行分页,可以通过对Duration列进行逆序排序,以便快速找到耗时最长的项。

查看执行出错的原因

如果您发现DAG执行出错,或者客户端返回了异常日志,可以前往MaxFrame Logview按照如下思路进行查看。

  1. 查看DAG列表中各DAG的状态。

  2. 查看最近一次Status为Failed的DAG记录,单击Detail列中image查看详细信息。

    image

  3. 您可以在DAG详情页面,查看显示红色的Sub DAG 节点,如下图中的 STAGE_1。

    image

    您还可以在Result页面,查看错误信息。

    image

  4. 单击失败的Sub DAG节点STAGE_1,然后在Instance列表Detail列中单击image并查看详细信息,如下图可以找到对应的失败的Instance。

    image

查看SubDAG包含的算子

目前有两种方法可以查看Sub DAG 包含的算子:

  • 方式一:在DAG详情页面,单击SubDAG节点。

    image

  • 方式二:在DAG详情页面,双击SubDAG节点。

    image

说明
  • 算子上会标记当前算子对应MaxFrame脚本的代码行。

  • 一些算子可能带有merged from标识,通常是指优化器在DAG提交后合并多个算子,生成性能更高且功能相同的新算子。

查看表的数据情况

查看数据流结构

若您想查看的数据流结构信息,您可以在DAG详情页面,双击SubDAG节点,进入算子详情页,然后单击算子与算子之间的连接线,即可查看对应的数据类型、索引(Index)和列名格式。

image

上述参数介绍:

  • Type: dataframe,表示上游算子输出的是一个dataframe。

  • DataFrame Index:索引。

    None: int64,当前包含一个未命名的Index,类型为int64。

  • DataFrame Columns:列信息。

    <column name>: <dtype>,当前DataFrame包含的所有的列和列的类型。

  • DataFrame Level Names:当前DataFrame Level的名称。

查看数据表的结构

单击任意算子图或Sub DAG Graph中的ODPS Table节点。

image

查看作业详情

在DAG详情页面,单击Instance列表Detail列中image查看作业详情。