在 Azure 数据工厂中执行数据检查

Perform data checks in azure data factory

我有 ADF 管道,它从本地源读取数据并将其复制到 azure 中的数据集。

我想执行一些数据检查:

  1. 如果数据包含我需要的特征
  2. 如果某些特征为空
  3. 如果特征全为空值 如果上述条件满足
  4. ,它应该会失败

有没有一种方法可以在数据工厂中执行此操作,而无需使用批处理服务,而只需在数据工厂或数据流中进行活动。

您可以在一个流程中执行传统批处理 运行 function/code 的许多方法。您可以将 ADF 活动编织成 'Lookup Activity' 的多个步骤组合,可能后跟 'Validation Activity' 和 'Delete Activity',并定义您的条件和规则。

Azure 数据工厂 'Data Flows' - https://docs.microsoft.com/en-us/azure/data-factory/concepts-data-flow-overview - 允许您在数据以无代码方式通过管道时绘制数据转换。

ADF 数据流的一种模式是 'Wrangling Data Flows' 处理数据并准备数据以供使用。参考文章 - https://docs.microsoft.com/en-us/azure/data-factory/wrangling-overview

Copy activity in Azure Data Factory (ADF) or Synapse Pipelines provides some basic validation checks called 'data consistency'。这可以执行以下操作:如果从源读取的行数与接收器中的行数不同,则 activity 失败,或者根据复制类型确定未复制的不兼容行数你在做。

这可能不是您想要的水平,因此您可以考虑编写一些自定义的东西,例如使用 Stored Proc activity, or looking at Mapping Data Flows and its Assert 任务可以做这样的事情。 link 中有一个有用的视频展示了该功能。

我尝试使用 Assert 活动,但对于我的工作范围来说这还不够!

因此,我最终使用 python 代码进行数据检查。

但是,如果您的数据检查标准不像我的那么严格,断言 activity 服务器更好。