执行详情

Dataflow 在其基于 Web 的监控界面中提供了执行详情标签页。此工具可帮助您优化作业性能,并诊断作业运行缓慢或卡滞的原因。本文档适用于需要检查其 Dataflow 作业的执行详情的任何 Dataflow 用户。

本页面简要介绍此功能的用途及其界面布局。如需了解问题排查详情,请参阅使用“执行详情”标签页

术语

为了有效使用执行详情,您需要了解以下关键概念如何应用于 Dataflow 作业:

  • 融合优化:Dataflow 融合多个步骤或多项转换的过程。这样可以优化由用户提交的流水线。如需了解详情,请参阅 Fusion 优化
  • 阶段:Dataflow 流水线中融合步骤的单元。
  • 关键路径:影响整个作业运行时的流水线的阶段序列。例如,此序列不包括以下阶段:
    • 在整个作业完成之前就已经完成的流水线分支。
    • 不会造成下游处理延迟的输入。
  • 工作器:运行 Dataflow 作业的 Compute Engine 虚拟机实例。
  • 工作项:与 Dataflow 选择的软件包对应的工作单元。

何时使用执行详情

下面是运行 Dataflow 作业时应该使用执行详情的常见场景:

  • 您的流水线卡滞,并且您希望排查问题。
  • 您的流水线速度缓慢,您想要有针对性地优化流水线。
  • 您不需要修复任何问题,但您希望查看流水线的执行详情以了解作业。

启用执行详情

系统会自动为所有批量作业和流式作业启用阶段工作流视图。对于批量作业,要在启动 Dataflow 作业时在执行详情标签页中显示额外的监控信息,请传入以下参数:

--experiments=use_monitoring_state_manager
--experiments=enable_execution_details_collection

对于批量作业,此操作会启用阶段进度工作器进度视图。

此功能不会额外增加您的虚拟机的 CPU、网络等资源的用量。执行详情由 Dataflow 的后端监控系统收集,因此不会会影响到作业的性能。

启动作业后,您可以使用 Dataflow 监控界面查看执行详情标签页。如需了解详情,请参阅访问 Dataflow 监控界面

如何使用“执行详情”标签页

执行详情标签页包含四个视图:阶段进度侧边栏(位于阶段进度内)、阶段工作流工作器进度。本部分将逐步介绍每个视图,并提供成功和失败的 Dataflow 作业示例。

阶段进度

阶段进度视图显示作业的执行阶段(按作业开始时间和结束时间排列)。该时长通过条形表示。例如,您可以通过观察最长的条形来直观地辨别流水线中最长的运行阶段。

在每个条形下方,您可以看到一个显示阶段进展情况的迷你图。要突出显示影响作业整体运行时的阶段,请点击关键路径切换开关。

阶段信息面板显示与阶段相关联的步骤列表,并按实际用时降序排列。如需打开此面板,请将鼠标悬停在其中一个条形上方,然后点击查看详细信息

“阶段进度”视图示例,直观呈现了 6 个不同执行阶段的时长。此视图还包含“阶段信息”面板。

阶段工作流

阶段工作流显示作业的执行阶段(以工作流图表示)。如需仅显示对作业整体运行时产生直接影响的阶段,请点击关键路径切换开关。

“阶段”工作流示例,显示了作业的不同执行阶段的层次结构。

工作器进度

工作器进度显示特定阶段的工作器。每个条形均映射到一个映射到工作器的工作项。您可以在每个工作器下方找到迷你图,跟踪工作器上的 CPU 利用率,从而更轻松地发现利用率低下的问题。

由于此直观图表的密度,您必须预先选择一个阶段来过滤此视图。首先,在阶段进度视图中确定一个阶段。将鼠标悬停在该阶段上,然后点击查看工作器以进入工作器进度视图。

工作器进度视图示例。工作器具有指示工作项调度和 CPU 利用率的条形图和迷你图。

后续步骤