Databricks Lakehouse 监视简介

重要

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

本文介绍 Databricks Lakehouse 监视。 它介绍了监视数据的好处,并概述了 Databricks Lakehouse 监视的组件和用法。

通过 Databricks Lakehouse 监视,可以监视帐户中所有表中数据的统计属性和质量。 还可以监视包含模型输出和预测的推理表,从而使用该服务跟踪机器学习模型和模型服务终结点的性能。 此图显示了 Databricks 中数据和机器学习管道的数据流,以及如何使用监视持续跟踪数据质量和模型性能。

Databricks Lakehouse 监视关系概述

为什么使用 Databricks Lakehouse 监视?

要从数据中获取有用的见解,必须对数据的质量充满信心。 监视数据提供了定量度量值,可帮助跟踪和确认数据随时间推移的质量和一致性。 当检测到表的数据分布或相应模型的性能发生更改时,Databricks Lakehouse 监视创建的表可以捕获更改并发出警报,并有助于确定原因。

Databricks Lakehouse 监视可帮助你回答如下问题:

  • 数据完整性是怎样的,它如何随时间变化? 例如,当前数据中 null 值或零值的比例是多少,是否增加?
  • 数据的统计分布是怎样的,它如何随时间变化? 例如,数字列的第 90 个百分位数是多少? 或者,分类列中的值分布情况如何?它与昨天有什么不同?
  • 当前数据与已知基线之间或数据的连续时间窗口之间是否存在偏移?
  • 数据的子集或切片的统计分布或偏移是怎样的?
  • ML 模型输入和预测如何随时间变化?
  • 模型性能随时间推移的趋势如何? 模型版本 A 的性能是否优于版本 B?

此外,Databricks Lakehouse 监视允许控制观察的时间粒度并设置自定义指标。

要求

要使用 Databricks Lakehouse 监视,需要满足以下条件:

  • 必须已为 Unity Catalog 启用工作区,并且必须有权访问 Databricks SQL。
  • 仅支持监视 Delta 表,包括托管表、外部表、视图和具体化视图。 通过具体化视图和流式处理表创建的监视器不支持增量处理。
  • 并非所有区域都受支持。 有关区域支持,请参阅 Azure Databricks 区域

注意

Databricks Lakehouse 监视将无服务器计算用于工作流。 有关跟踪 Lakehouse 监视费用的信息,请参阅《查看 Lakehouse 监视费用》。

Databricks 上的 Lakehouse 监视的工作原理

要在 Databricks 中监视表,请创建附加到表的监视器。 要监视机器学习模型的性能,请将监视器附加到保存模型输入和相应预测的推理表。

Databricks Lakehouse 监视提供以下类型的分析:时序、快照和推理。

配置文件类型 说明
时序 用于包含基于时间戳列的时序数据集的表。 监视可跨时序的基于时间的时段计算数据质量指标。
推理 用于包含模型请求日志的表。 每一行都是一个请求,其中包含时间戳的列、模型输入、相应的预测和(可选)实数标签。 监视可比较基于时间的请求日志窗口的模型性能和数据质量指标。
快照 用于所有其他类型的表。 监视计算表中所有数据的数据质量指标。 每次刷新时都会处理完整的表。

本部分简要介绍了 Databricks Lakehouse 监视使用的输入表及其生成的指标表。 此图显示了输入表、指标表、监视器和仪表板之间的关系。

Databricks Lakehouse 监视关系图

主表和基线表

除了要监视的表(称为“主表”)之外,还可以选择性地指定要用作测量偏移的参考的基线表或随时间推移值的变化。 如果具有预期数据外观的示例,基线表非常有用。 其思路是,然后,计算相对于预期数据值和分布的偏移。

基线表应包含数据集,该数据集反映输入数据在统计分布、单个列分布、缺失值和其他特征方面的预期质量。 它应与受监视表的架构匹配。 与时序或推理配置文件结合使用的表的时间戳列例外。 如果主表或基线表中缺少列,监视会使用尽力启发法计算输出指标。

对于使用快照配置文件的监视器,基线表应包含数据快照,其中分布表示可接受的质量标准。 例如,在成绩分布数据上,可以将基线设置为上一个成绩均匀分布的班级。

对于使用时序配置文件的监视器,基线表应包含表示时间窗口的数据,其中数据分布表示可接受的质量标准。 例如,在天气数据上,可以将基线设置为周、月或年,其中温度接近预期的正常温度。

对于使用推理配置文件的监视器,基线的不错选择是用于训练或验证所监视的模型的数据。 这样,当数据相对于模型训练和验证所基于的内容偏移时,可以向用户发出警报。 此表应包含与主表相同的特征列,并且还应具有为主表的 InferenceLog 指定的相同model_id_col,以便一致地聚合数据。 理想情况下,应使用用于评估模型的测试或验证集以确保可比较的模型质量指标。

指标表和仪表板

表监视器创建两个指标表和一个仪表板。 指标值针对整个表以及创建监视器时指定的时间窗口和数据子集(或“切片”)计算。 此外,对于推理分析,会为每个模型 ID 计算指标。 有关指标表的更多详细信息,请参阅监视指标表

  • 配置文件指标表包含摘要统计信息。 请参阅配置文件指标表架构
  • 偏移指标表包含与数据随时间偏移相关的统计信息。 如果提供了基线表,还会监视相对于基线值的偏移。 请参阅偏移指标表架构

指标表是 Delta 表,存储在指定的 Unity Catalog 架构中。 可以使用 Databricks UI 查看这些表,使用 Databricks SQL 对其进行查询,并基于它们创建仪表板和警报。

对于每个监视器,Databricks 会自动创建仪表板,以帮助可视化和显示监视器结果。 与任何其他旧仪表板一样,此仪表板可完全自定义。

开始使用 Databricks 上的 Lakehouse 监视

请参阅以下文章以开始使用: