Lakeflow 作业的监视和可观测性

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

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

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

查看职位和流水线

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

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

重要

统一的“作业和管道”列表现以公共预览版提供。 可以通过禁用作业和管道:统一管理、搜索和筛选来禁用该功能并返回默认体验。 有关详细信息,请参阅 Manage 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. 单击作业的名称链接。

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

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

作业矩阵视图。

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

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

作业运行和任务运行条采用颜色编码以指示运行状态。 成功的运行为绿色。 不成功的运行为红色,跳过的运行为粉色,等待重试为黄色。 待处理、已取消或已超时显示为灰色。 各个作业运行和任务运行条形的高度直观地显示了运行时长。

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

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

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

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

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

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

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

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

查看作业运行详细信息

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

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

具有多个任务的作业还具有图形、日程表和列表视图。

图形视图

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

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

作业图视图。

时间线视图

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

作业时间线视图。

对于无服务器作业,查询和 查询分析信息 已整合到时间线视图中。 单击任务名称旁边的箭头以查看查询语句及其持续时间,然后单击一个语句以导航到相应的查询配置文件。 请参阅 查看作业运行的查询详细信息

“列表”视图

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

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

单击“作业 ID”值以返回到作业的“运行”选项卡。

作业列表视图。

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

Azure Databricks根据作业的leaf tasks结果来确定作业运行是否成功。 叶任务是无下游依赖项的任务。 作业运行可能出现以下结果之一:

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

当您在作业设置中显式禁用任务时,或当上游任务被禁用导致 Lakeflow 作业在一次运行中禁用任务时,单个任务也可以以状态 Disabled 终止。 禁用的任务会在 DAG 的右上角显示一个表示关闭的大圆圈图标。 请参阅 Lakeflow Jobs中的禁用任务

查看流媒体任务的指标

重要

Lakeflow 作业的流数据监控正处于公共预览阶段。

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

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

积压字节 积压记录 积压工作秒数 积压工作文件
Kafka
动动力
三角洲
自动加载器

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

若要查看从其中一个受支持的结构化流式处理源流式传输数据的任务运行的流式处理指标,请执行以下操作:

  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 Jobs 任务相同。 可以单击“作业运行详细信息”页面上的 For each 任务节点或矩阵视图中的相应单元格。 但是,与标准任务不同的是,For each 任务的运行详细信息显示为一个包含嵌套任务迭代的表格。

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

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

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

查看所有作业和流水线中的近期运行记录

你可以查看你有权访问的工作区中所有作业和管道当前正在运行以及最近已完成的运行列表,其中包括由 Apache Airflow 或 Azure 数据工厂 等外部编排工具发起的运行。 若要查看最近的运行列表:

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

统一运行列表。

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

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

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

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

已完成的运行计数图

已完成运行次数图表显示过去 48 小时内已完成的运行次数。 默认情况下,图表显示失败、跳过和成功的运行。 还可以筛选该图以显示特定的运行状态,或将该图限制为特定的时间范围。

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

注意

仅当筛选为 作业管道 时,才会显示 已完成运行次数 图表。 选择 “全部” 时,不会显示它。 该图会向管理员显示所有运行的情况。 对于非管理员,必须单击以此方式运行并选择

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

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

前 5 个错误类型表显示所选时间范围内最常见的错误类型列表,使你能够快速查看工作区中最常见的问题原因。

运行列表

运行选项卡还包含一个显示过去 60 天内作业和流水线运行记录的表格。 Azure Databricks 对作业和管道的运行历史记录保留 60 天。 默认情况下,该表包含有关失败、跳过和成功运行的详细信息。

运行列表。

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

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

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

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

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

查看作业的世系信息

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

查看并运行使用声明性自动化捆绑包创建的作业

可以使用 Lakeflow 作业 UI 查看和运行 由声明性自动化捆绑包部署的作业。 默认情况下,这些作业在作业 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对象。