我有一个 ADF 管道,它从本地源读取数据并将其复制到 azure 中的数据集。
我想执行一些数据检查:
有没有一种方法可以在数据工厂中执行此操作,而无需使用批处理服务,而只需在数据工厂或数据流中进行活动。
有很多方法可以实现这一点,您可以在进程中执行传统的批处理运行函数/代码。您可以将 ADF 活动编织成“查找活动”的多个步骤组合,之后可能是“验证活动”和“删除活动”,并定义您的条件和规则。
Azure 数据工厂“数据流” - https://learn.microsoft.com/en-us/azure/data-factory/concepts-data-flow-overview - 允许您在数据移动时规划数据转换以无代码方式管道。
ADF 数据流的一种模式是“整理数据流”,用于处理数据并准备使用数据。参考文章 - https://learn.microsoft.com/en-us/azure/data-factory/wrangling-overview
复制活动提供了一些称为“数据一致性”的基本验证检查。这可以执行以下操作:如果从源读取的行数与接收器中的行数不同,则活动失败,或者根据您正在进行的复制类型确定未复制的不兼容行数。
这可能不太符合您想要的级别,因此您可以考虑编写一些自定义内容,例如使用“存储过程活动”,或者查看“映射数据流”及其可以执行类似操作的“断言”任务。链接中有一个有用的视频,展示了该功能。因此,我最终使用Python代码进行数据检查。
您可以尝试创建数据流并应用条件拆分活动。这将帮助您实现您的场景。 没有这样的编码。从图中可以看出,您可以在 ADF 或 Azure Synapse 数据流中执行此操作。
查找我附加的数据流程图,该图检查一些条件,例如年份小于指定年份或列中的数据是否为空、日期格式等。