更新时间:2026-07-09 GMT+08:00
分享

查看作业性能指标

查看作业性能指标,包括Spark执行计划、性能统计(执行时间、内存占用、数据量)、算子指标及任务健康度等信息,助您快速理解执行流程与性能表现。

约束与限制

进入过运行状态的SparkSQL作业都支持查看作业性能指标。

操作步骤

  1. 登录AI DataLake管理控制台
  2. 进入到SparkSQL作业查看性能入口页面。

    • 从作业运行历史页面进入
      1. 在“作业开发”>“作业运行历史”页面,单击“批处理引擎Spark”,切换端点类型为SparkSQL。
      2. 单击目标作业“操作”列下“更多”>“查询分析”。
    • 从引擎端点页面进入
      1. 在“引擎端点”>“批处理引擎Spark”页面。
      2. 在搜索框中选择类型后,选择SparkSQL。
      3. 单击目标端点名称。
      4. 在“作业运行历史”页签,单击目标作业“操作”列下“更多”>“查询分析”。

  3. 通过以下任意一种方式查看指标信息。

    指标字段含义详情请参考queryquery.metricsgraphs
    • 单击目标节点,右侧查看指标信息。

      通过将query profile文件可视化,有助于分析SQL执行期间的性能瓶颈,例如每个物理算子执行时间、处理行数、内存消耗。通过可视化后的DAG图,可以一目了然地知道SQL执行最慢的部分,以及评估SQL修改后的影响。

    • 单击页面右下角的“下载分析”按钮,在query profile文件中查看。

query

指标字段

含义

query.id

查询唯一标识。

query.status

查询状态:RUNNING / FINISHED / FAILED。

query.queryText

SQL查询文本。

query.queryStartTimeMs

查询开始时间(毫秒时间戳)。

query.queryEndTimeMs

查询结束时间(毫秒时间戳)。

query.user

提交查询的用户信息。

query.executedAsUser

执行查询的用户信息。

query.errorMessage

错误信息(查询失败时)。

query.isFinal

查询是否已结束(最终状态)。

query.metrics

查询级别指标数据。

query.statementType

SQL语句类型。

query.user.id

用户ID。

query.user.name

用户名。

query.executedAsUser.id

执行用户ID。

query.executedAsUser.name

执行用户名。

query.metrics

指标字段

含义

query.metrics.totalTimeMs

查询总耗时(毫秒)。

query.metrics.compilationTimeMs

编译总耗时(毫秒)= 各phase durationMs之和。

query.metrics.executionTimeMs

执行耗时(毫秒)= totalTimeMs - compilationTimeMs。

query.metrics.metadataTimeMs

元数据操作总耗时(毫秒)。

query.metrics.metadataOperationInfo

元数据操作详情列表。

query.metrics.fileListTimeMs

文件列表获取总耗时(毫秒)。

query.metrics.fileListInfo

文件列表获取详情。

query.metrics.liquidClusteringMetrics

Liquid Clustering指标(Join Key使用统计)。

query.metrics.phases

查询编译各阶段信息。

query.metrics.rules

最耗时Top10优化规则。

query.metrics.metadataOperationInfo[*].operationName

元数据操作名称。

query.metrics.metadataOperationInfo[*].callTimes

调用次数。

query.metrics.metadataOperationInfo[*].minTime

最小耗时(毫秒)。

query.metrics.metadataOperationInfo[*].medTime

中位数耗时(毫秒)。

query.metrics.metadataOperationInfo[*].maxTime

最大耗时(毫秒)。

query.metrics.fileListInfo[*].rootPathSize

根路径大小。

query.metrics.fileListInfo[*].outputSize

输出大小。

query.metrics.fileListInfo[*].fileListTime

文件列表获取耗时。

query.metrics.liquidClusteringMetrics[*].tableQualifiedName

表全限定名。

query.metrics.liquidClusteringMetrics[*].joinMetrics[*].key

Join Key列名。

query.metrics.liquidClusteringMetrics[*].joinMetrics[*].usageCounter

Join Key使用次数。

query.metrics.phases[*].phaseName

阶段名称(parsing/analysis/optimization/planning)。

query.metrics.phases[*].startTimeMs

阶段开始时间(毫秒)。

query.metrics.phases[*].endTimeMs

阶段结束时间(毫秒)。

query.metrics.phases[*].durationMs

阶段持续时间(毫秒)。

query.metrics.rules[*].ruleName

优化规则名称。

query.metrics.rules[*].totalTimeNs

规则总耗时(纳秒)。

query.metrics.rules[*].numInvocations

规则调用次数。

query.metrics.rules[*].numEffectiveInvocations

规则有效调用次数。

graphs

指标字段

含义

graphs[*].nodes

执行计划节点列表。

graphs[*].edges

执行计划边列表。

graphs[*].stageData

Stage级别数据。

graphs[*].executionId

执行ID。

graphs[*].timeSubmittedMs

提交时间(毫秒时间戳)。

graphs[*].timeCompletedMs

完成时间(毫秒时间戳)。

graphs[*].displayInfo

汇总显示信息。

graphs[*].nodes[*].id

节点ID。

graphs[*].nodes[*].name

节点名称(如Scan parquet、HashAggregate)。

graphs[*].nodes[*].tag

节点标签。

graphs[*].nodes[*].metadata

节点元数据。

graphs[*].nodes[*].metrics

节点指标列表。

graphs[*].nodes[*].keyMetrics

关键指标(行数/耗时/峰值内存)。

graphs[*].nodes[*].hidden

是否在UI中隐藏。

graphs[*].nodes[*].stageLinks

关联的Stage ID列表。

graphs[*].nodes[*].subgraphParent

所属子图的父节点ID。

graphs[*].nodes[*].keyMetrics.rowsNum

输出行数。

graphs[*].nodes[*].keyMetrics.durationMs

耗时(毫秒)。

graphs[*].nodes[*].keyMetrics.peakMemoryBytes

峰值内存字节数。

graphs[*].nodes[*].metrics[*].label

指标显示标签。

graphs[*].nodes[*].metrics[*].key

指标键。

graphs[*].nodes[*].metrics[*].metricType

指标类型(SIZE_METRIC_BYTES/TIMING_METRIC_NS/TIMING_METRIC_MS/AVERAGE_METRIC/SUM_METRIC/UNKNOWN_TYPE)。

graphs[*].nodes[*].metrics[*].value

指标值(统一转为Long)。

graphs[*].nodes[*].metrics[*].hidden

是否隐藏。

graphs[*].nodes[*].metadata[*].key

元数据键(OUTPUT/GROUPING_EXPRESSIONS/AGGREGATE_EXPRESSIONS/PARTITIONING_TYPE/SHUFFLE_ATTRIBUTES/SCAN_DATABASE/SCAN_TABLE/SCAN_IDENTIFIER)。

graphs[*].nodes[*].metadata[*].label

元数据标签。

graphs[*].nodes[*].metadata[*].value

元数据值。

graphs[*].nodes[*].metadata[*].values

元数据值列表。

graphs[*].nodes[*].metadata[*].metaValues[*].value

元数据子项值。

graphs[*].edges[*].fromId

起始节点ID。

graphs[*].edges[*].toId

目标节点ID。

相关文档