通过


Lakeflow 作业的监视和可观测性

本文介绍 Azure Databricks UI 中提供的功能,用于查看有权访问的作业、查看作业运行的历史记录,以及查看作业运行的详细信息。 要为作业配置通知,请参阅在作业上添加通知

若要了解如何使用 Databricks CLI 查看作业和运行作业,请运行 CLI 命令 databricks jobs list -hdatabricks jobs get -hdatabricks jobs run-now -h。 若要了解如何使用作业 API,请参阅作业 API

如果你有权访问 system.lakeflow 架构,则还可以查看和查询整个帐户中作业运行和任务的记录。 请参阅作业系统表参考。 还可以将作业系统表与计费表联接,以监视帐户中的作业成本。 请参阅使用系统表监视作业成本和性能

查看作业和管道

若要查看您有权访问的作业列表,请单击工作流图标。在边栏中找到作业和管道。 Lakeflow 作业 UI 中的 “作业和管道 ”选项卡列出了有关所有可用作业和管道的信息,例如创建者、触发器(如果有)以及最后五次运行的结果。

若要更改列表中显示的列,请单击“ 列设置”图标 并选择或取消选择列。

重要说明

统一的“作业和管道”列表现以公共预览版提供。 可以通过禁用作业和管道:统一管理、搜索和筛选来禁用该功能并返回默认体验。 有关详细信息,请参阅 “管理 Azure Databricks 预览 版”。

可以在 “作业和管道 ”列表中筛选作业,如以下屏幕截图所示。

带标注的作业列表视图。

  1. 文本搜索“名称和作业 ID”字段支持关键字搜索。 若要搜索使用键和值创建的标记,可以按键、值或键和值进行搜索。 例如,对于具有键 department 和值 finance 的标记,可以搜索 departmentfinance 查找匹配的作业。 要按键和值进行搜索,请输入键和值并用冒号分隔(例如 department:finance)。
  2. 类型:仅选择作业、管道或全部。
  3. 所有者:仅选择你拥有的作业或管道。
  4. 收藏夹:选择标记为收藏的所有作业或管道。
  5. 标签:使用 标签。 要按标签搜索,可以使用标签下拉菜单同时筛选最多五个标签,也可以直接使用关键字搜索。
  6. 运行方式:最多按两 run as 个值进行筛选。

若要启动作业或管道,请单击 播放图标 播放按钮。 若要停止工作流,请单击停止图标按钮。 若要访问其他操作,请单击 Kebab 菜单 图标。 例如,可以从此菜单中删除工作流或访问管道的设置。

查看单个作业的运行

你可以查看自己有权访问的作业的当前正在执行的运行和最近完成的运行的列表,包括由 Apache Airflow 或 Azure 数据工厂之类的外部业务流程工具启动的运行。 若要查看最近的作业运行列表,请执行以下操作:

  1. 在 Azure Databricks 工作区的边栏中,单击作业和管道

  2. (可选)选择作业归我所有筛选器。

  3. 单击作业的名称链接。

    此时会显示“运行”选项卡,其中包含活动运行和已完成运行的矩阵和列表视图。

矩阵视图显示作业运行的历史记录,包括每个作业任务。

作业矩阵视图。

矩阵的“运行总持续时间”行会显示运行的总持续时间和运行状态。 若要查看运行的详细信息(包括开始时间、持续时间和状态),请将鼠标悬停在运行总持续时间行中的条上。

任务行中的每个单元格代表一个任务和该任务的相应状态。 若要查看每个任务的详细信息,包括开始时间、持续时间、群集和状态,请将鼠标悬停在该任务的单元格上。

作业运行栏和任务运行栏进行了颜色编码,以指示运行状态。 成功的运行为绿色。 不成功的运行为红色,跳过的运行为粉红色,等待重试的运行为黄色。 挂起的、取消的或超时的为灰色。 单个作业运行和任务运行条的高度可直观指示运行持续时间。

如果已配置预期完成时间,则当运行持续时间超过配置的时间时,矩阵视图会显示警告。

默认情况下,运行列表视图显示以下内容:

  • 运行开始时间。
  • 运行标识符。
  • 运行是由作业计划触发、API 请求触发还是手动启动的。
  • 当前正在运行的作业的已用时间,或已完成的运行的总运行时间。 如果持续时间超过配置的预期完成时间,则显示警告。
  • 运行状态,包括“已排队”、“挂起”、“正在运行”、“已跳过”、“成功”、“失败”、“超时”、“正在取消”或“已取消”。
  • 终止的运行对应的错误代码。
  • 运行参数。

当前活动的运行会显示停止按钮。 若要停止所有活动的运行和排队的运行,可从下拉菜单中选择“取消运行”或“取消所有排队的运行”。

为一个运行使用 Kebab 菜单图标。 可执行特定于上下文的操作,例如删除已完成的运行的条目。

若要访问运行的上下文特定操作,请单击kebab 菜单图标(例如,停止活动运行或删除已完成的运行)。

要更改运行列表视图中显示的列,请单击“设置图标”,然后选择或取消选择列。

若要查看作业运行详细信息,请在运行列表视图的开始时间列中单击该运行的链接。 要查看此作业最近一次成功运行的详细信息,请单击“转到最近一次成功运行”。

Azure Databricks 最多可以保留 60 天的作业运行历史。 如果需要保留作业运行,Databricks 建议在结果过期之前将其导出。 有关详细信息,请参阅导出作业运行结果

查看作业运行详细信息

作业运行详细信息页包含作业输出和日志链接,其中包括有关作业运行中每个任务的成功或失败结果的信息。 可以通过作业的运行选项卡访问作业运行详细信息。

若要从运行选项卡查看作业运行详细信息,请在运行列表视图的开始时间列中单击该运行的链接。 若要返回到作业的“运行”选项卡,请单击“作业 ID”值。

具有多个任务的作业还具有图形、时间线和列表视图。

图形视图

单击图形中的任务节点以查看任务运行详细信息,其中包括:

  • 各种任务详细信息,例如运行方式、作业启动方式、开始时间、结束时间、持续时间和状态。
  • 源代码。
  • 运行任务的群集,以及其查询历史记录和日志的链接。
  • 任务的指标。

作业图视图。

时间线视图

包含多个任务的作业具有时间线视图,可以识别需要很长时间才能完成的任务,了解依赖项和重叠,以帮助调试和优化这些作业。

作业时间线视图。

列表视图

默认情况下,列表视图显示状态、名称、类型、资源、持续时间和依赖项。 可以在此视图中添加和删除列。

可以按名称搜索任务、按任务状态或任务类型进行筛选,以及按状态、名称或持续时间对任务进行排序。

若要返回到作业的“运行”选项卡,请单击“作业 ID”值。

作业列表视图。

Azure Databricks 如何确定作业运行状态?

Azure Databricks 可根据作业的叶任务结果确定作业运行是否成功。 叶任务是无下游依赖项的任务。 作业运行可以有以下三个结果之一:

  • 成功:所有任务都成功。
  • 成功但有失败:一些任务失败,但所有叶任务都成功。
  • 失败:一个或多个叶任务失败。
  • 已跳过:跳过了该作业运行(例如,由于超出了作业或工作区的最大并发运行数,可能会跳过相关任务)。
  • 超时:作业运行耗时过长,导致超时。
  • 已取消:作业运行已取消(例如,用户手动取消了正在进行的运行)。

查看流式处理任务的指标

重要说明

Lakeflow 作业的流数据可观测性以公共预览版提供。

查看作业运行详细信息时,可以通过作业 UI 中的流式处理可观测性指标获取流式处理工作负载的相关数据。 这些指标包括 Spark 结构化流式处理支持的源的积压秒数、积压字节数、积压记录和积压文件,包括 Apache Kafka、Amazon Kinesis、Auto Loader、Google Pub/Sub 和 Delta 表。 当查看任务的运行详细信息时,指标将在右侧窗格中显示为图表。 每个图表中显示的指标是按分钟聚合的最大值,最多可以包含前 48 小时的指标。

每个流式处理源仅支持特定指标。 流式处理源不支持的指标在 UI 中无法查看。 下表显示了支持的流式处理源可用的指标:

积压工作字节数 积压工作记录数 积压工作秒数 积压工作文件数
Kafka
Kinesis
Delta
自动加载程序
Google Pub/Sub(谷歌发布/订阅消息服务)

还可以为每个流式处理指标指定阈值,并配置在任务运行期间若流超过阈值便发出通知。 请参阅为慢速作业配置通知

查看从某个支持的 Structured Streaming 源流式传输数据的某个任务运行的流式处理指标:

  1. 在“作业运行详细信息”页上,单击要查看其指标的任务。
  2. 单击任务运行窗格中的指标选项卡。
  3. 要打开一个指标的图,可单击指标名称旁的 右插入点
  4. 要查看特定流的指标,在“按 stream_id 筛选”文本框中输入流 ID。 可以在作业运行的输出中找到流 ID。
  5. 若要更改指标图的时间段,请使用时间下拉菜单。
  6. 要滚动浏览包含十个以上流的运行中的流,可以单击“下一页”或“上一页”。

流式处理可观测性限制

  • 每分钟更新一次指标,除非运行包含四个以上的流。 如果运行包含四个以上的流,则指标每五分钟更新一次。
  • 仅收集每个运行中前 50 个流的指标。
  • 指标按一秒间隔收集。 如果 triggerInterval 设置小于 1 秒,则指标可能不可见。
  • 默认情况下,大多数数据源收集流式处理指标。 但是,对于其他人,必须启用此功能。 如果数据源未收集流式处理指标,请将 spark.sql.streaming.metricsEnabled 标志设置为 True

查看任务运行历史记录

查看任务的运行历史记录,包括成功和未成功的运行:

  1. 单击作业运行详细信息页上的某个任务。 此时将显示任务运行详细信息页。
  2. 在运行历史记录下拉菜单中选择任务运行。

查看 For each 任务的任务运行历史记录

访问 For each 任务的运行历史记录与访问标准 Lakeflow 作业任务的方式相同。 可以单击“作业运行详细信息”页面上的 For each 任务节点或矩阵视图中的相应单元格。 但是,与标准任务不同的是,For each 任务的运行详细信息以嵌套任务的迭代表的形式显示。

若要仅查看失败的迭代,请单击“仅失败的迭代”。

若要查看迭代的输出,请单击迭代的“开始时间”或“结束时间”值。

用于每个任务运行历史记录的作业。

查看所有作业的近期作业运行

重要说明

此功能目前以公共预览版提供。

你可以查看自己有权访问的工作区中所有作业的当前正在执行的运行和最近完成的运行的列表,包括由 Apache Airflow 或 Azure 数据工厂之类的外部业务流程工具启动的运行。 若要查看最近的作业运行列表,请执行以下操作:

  1. 单击边栏中的“工作流”图标。作业和管道
  2. 单击“ 运行 ”选项卡可显示已完成的运行计数图和作业和管道运行的列表。
  3. (可选)单击“ 作业 ”以仅筛选作业。

注意

如果已禁用 统一运行列表 预览,则选项卡称为 作业运行记录,并显示仅作业运行的列表。

统一运行列表。

运行列表包括顶部的筛选选项、最近完成的运行图和最常见的五个错误,以及最近完成运行的列表

您可以按以下条件进行筛选:

  • 作业或管道的名称
  • 所有任务流水线
  • 管道类型 (ETL、引入、MV/ST 或数据库表同步)。
  • 以用户身份运行
  • 运行 开始时间 (在过去 48 小时内)。
  • 运行状态
  • 失败运行的 错误代码

筛选器适用于图形、错误代码和运行列表。

已完成的运行计数图

“已完成的运行计数”图可显示过去 48 小时内完成的作业运行数。 默认情况下,该图显示失败、跳过和成功的作业运行。 还可以筛选该图以显示特定的运行状态,或将该图限制为特定的时间范围。 “ 运行 ”选项卡还包括过去 67 天内的作业运行表。 默认情况下,该表包含有关失败、跳过和成功作业运行的详细信息。

作业已完成的运行计数图。

注意

对于所有运行,“已完成的运行计数” 图表会向管理员展示。 对于非管理员,必须单击以此方式运行并选择

运行 ”选项卡顶部的筛选器适用于图形。

若要限制“ 完成运行计数 ”图中显示的时间范围,可以在上面的筛选器中选择时间范围。 或者,可以在图形中单击并拖动光标以选择时间范围。 图和运行表将会更新,以仅显示所选时间范围内的运行。

前 5 个错误类型”表可显示所选时间范围内最常见的错误类型的列表,从而支持你快速查看工作区中作业问题的最常见原因。

作业运行列表

“作业运行”选项卡还包括过去 60 天的作业运行表。 默认情况下,该表包含有关失败、跳过和成功作业运行的详细信息。

作业运行列表。

运行 ”选项卡顶部的筛选器将应用于列表。

默认情况下,运行表中的运行列表会显示以下内容:

  • 运行开始时间。
  • 与运行关联的作业名称。
  • 运行的类型(作业流水线)。
  • 运行作业的用户名。
  • 如何通过作业计划或 API 请求触发运行(已启动),或者手动启动。
  • 当前正在运行的作业的已用时间,或已完成的运行的总运行时间。 如果持续时间超过配置的预期完成时间,则显示警告。
  • 运行状态:“已排队”、“挂起”、“正在运行”、“已跳过”、“成功”、“失败”、“超时”、“正在取消”或“已取消”。
  • 运行终止时的任何错误代码。
  • 此运行的任何参数。
  • 若要停止正在运行的作业,请单击“停止”按钮。 若要访问作业的操作,请单击 Kebab 菜单图标,例如,停止正在进行的运行或删除已完成运行。

若要更改运行列表中显示的列,请单击列图标,然后选择或取消选择需要显示的列。

若要查看作业运行详细信息,请单击运行开始时间列中的链接。 若要查看作业详细信息,请单击作业列中的作业名称。

查看作业的世系信息

如果在工作区中启用了 Unity Catalog,则可以查看工作流中任何 Unity Catalog 表的世系信息。 如果提供了工作流的世系信息,则作业的作业详细信息面板、作业运行的作业运行详细信息面板或任务运行的任务运行详细信息面板中会显示一个链接,其中包含上游和下游表的计数。 单击该链接会显示表的列表。 单击某个表可在目录资源管理器中查看详细信息。

查看并运行使用 Databricks 资产捆绑创建的作业

可以使用 Lakeflow 作业 UI 查看和运行 Databricks 资产捆绑包部署的作业。 默认情况下,这些作业在作业 UI 中为只读。 若要编辑捆绑包部署的作业,请更改捆绑包配置文件并重新部署作业。 仅对捆绑包配置应用更改可确保捆绑包源文件始终捕获当前作业配置。

但是,如果必须立即更改作业,则可以断开作业与捆绑包配置的连接,以便在 UI 中编辑作业设置。 若要断开与作业的连接,请单击“从源断开连接”。 在“从源断开连接”对话框中,单击“断开连接”进行确认。

对 UI 中作业所做的任何更改都不会应用于捆绑包配置。 若要将 UI 中所做的更改应用于捆绑包,则必须手动更新捆绑包配置。 若要将作业重新连接到捆绑包配置,请使用捆绑包重新部署作业。

导出作业运行结果

可以为所有作业类型导出笔记本运行结果和作业运行日志。

导出笔记本运行结果

可以通过导出作业运行的结果来持久保存作业运行。 对于笔记本作业运行,可以先导出呈现的笔记本,稍后再将其导入到 Azure Databricks 工作区中。

导出具有单个任务的作业的笔记本运行结果:

  1. 在“作业详细信息”页上,在已完成的运行(过去 60 天)表的运行列中,单击该运行对应的查看详细信息链接。
  2. 单击导出到 HTML

导出具有多个任务的作业的笔记本运行结果:

  1. 在“作业详细信息”页上,在已完成的运行(过去 60 天)表的运行列中,单击该运行对应的查看详细信息链接。
  2. 单击用于导出的笔记本任务。
  3. 单击导出到 HTML

导出作业运行日志

你还可以导出作业运行的日志。 可以将作业设置为在配置作业计算时自动将日志传送到 DBFS(请参阅计算配置参考)或通过作业 API 传送。 请参阅传递给作业 API 中new_cluster.cluster_log_conf操作 () 的请求正文中的 POST /jobs/create 对象。