复制作业中的审核列

本文介绍复制作业中的审核列功能以及如何使用它。

什么是审核列?

审核列是复制任务可以自动附加到目标写入的每一行的额外元数据列。 这些列不是来自源数据,它们由平台生成,用于描述数据移动本身。

在复制作业中启用审核列时,可以使用如下信息扩充目标表中的每一行:

审核列 它捕获的内容
数据提取时间 复制作业运行从源中提取行的时间戳。
文件路径 用于读取行的源文件路径(适用于基于文件的源)。
工作区标识符 复制作业所在的 Fabric 工作区 ID。
复制任务 ID 复制作业项的唯一标识符。
复制作业运行 ID 特定复制作业任务的唯一标识符。
复制作业名称 移动行的复制作业的名称。
下限 当前运行的增量窗口的下限值。
上界 当前运行的增量窗口的上限值。
自定义 用户定义的静态值。 添加团队所需的任何其他上下文,例如源服务器名称。

启用审核列后,您可以针对目标表中的任何行回答以下问题:

  • 何时提取此数据? 从源中读取行时的确切时间戳。
  • 它来自哪里? 哪个文件路径以及哪个数据存储。
  • 是哪个任务转移了它? 从哪个工作区复制哪个作业,识别具体的运行方式,包括名称和 ID。
  • 什么是增量范围? 下限和上限明确表示一次运行所覆盖的数据范围。

无需自定义代码或表达式创作。 根据需要添加任意数量的审核列,复制作业写入的每个表中的每一行都自动包含此元数据。

注释

除 Office 365 和 Databricks Delta Lake 之外,所有复制作业连接器都支持审核列。

为什么审计列很重要

不带管道的行级数据世系

数据世系(了解数据来自何处以及如何到达其当前状态)是任何严重数据平台的基础要求。 但是,传统的数据传承跟踪方法通常在任务层面运行:你知道任务在特定时间运行,并写入到某个特定的表。 你不知道哪些特定行受到影响,每一行写入的时间,或者特定行是来自此次运行还是之前的运行。

审核列通过将世系元数据直接嵌入到数据中来缩小此差距。 每一行都有它自己的起源。 这是行级世系,它基本上比用于调试、审核和数据质量的作业级元数据更有用。

合规性和法规报告

对于受监管行业(金融服务、医疗保健、保险和政府)的组织来说,跟踪数据回源的能力不是可选的。 审核员需要回答如下问题:

  • “此客户记录何时上次更新在我们的分析系统中?
  • “你能证明这种财务交易数据是否源自生产 ERP 系统?
  • “哪个数据移动作业会将此患者记录引入数据仓库,以及何时?

如果没有审核列,回答这些问题需要将外部监视日志与目标表内容相关联,这是一个手动的、容易出错且耗时的过程。 使用审核列时,元数据就与数据一起存在。

数据质量和调试

当出现数据质量问题(重复行、过时数据或缺失记录)时,第一个问题始终是:该行何时到达,以及它来自何处? 审核列会立即回答。

如果没有审计列,则需要交叉引用工作区监控日志,匹配时间戳与行计数,并期望关联有效。 使用审核列时,元数据就在表中。

下游分析和新鲜度跟踪

审核列支持一种下游分析,否则需要定制化工程:

  • 源文件可跟踪性:使用文件路径审核列将任何行跟踪回其确切的源文件。
  • 数据摄取 SLA 监控:将数据提取时间与预期计划进行比较,以检测摄取延迟。
  • 增量窗口审核:使用下限和上限验证是否处理了每个增量切片,并且未错过任何内容。

如何使用审计字段列

在复制作业中启用审核列非常简单,只需执行几个步骤。

步骤 1:创建或打开复制任务

在 Fabric 工作区中,首先创建新的复制作业或打开现有作业。 像平常一样选择源表。

步骤 2:添加审核列

在复制作业设置中,选择要复制的源表或文件夹后,添加审核列。 如何配置审核列取决于源是基于表还是基于文件的:

  • 基于表的源:每个表配置审计列。 每个表都有自己的配置,因此每个表都有自己的审核列。 在表列表中选择每个表,然后定义该表的审核列。 对要使用审核列扩充的每个表重复此步骤。

  • 基于文件的源:审核列仅需配置一次,并可供所有文件访问。 只需一次定义审核列,相同的配置适用于复制作业复制的每个文件。

    在复制作业中配置审核列的屏幕截图。

步骤 3:执行您的复制任务

运行复制作业。 每次执行时,写入目标表的每一行都包含审核列值,例如提取时间、工作区 ID、复制作业名称、运行 ID 和任何自定义元数据。

步骤 4:查询数据和生成报表

请打开目标表,并查询审计列以及业务数据,以获取完整的上下文。 审核列是标准表字段,因此它们可与 Power BI、KQL 查询、笔记本或其他工具无缝配合工作。

显示复制作业创建的审核列的屏幕截图。