如何比较 ADF 数据流中的 2 个数据集并保存差异?

How to compare 2 datasets in ADF dataflow and save the difference?

我需要比较 2 table 并过滤不相同的行,并标记它们不同的列值。

TABLE 1

用户 人数 类型 价值
用户 1 1 一个 值2
用户 1 2 一个 值3
用户 1 1 B 值4
用户 1 2 B 值5
用户 1 1 C 值6
用户 1 2 C 值 7
用户 1 1 D 值 8
用户 1 2 D 值 9

TABLE 2

用户 人数 类型 价值
用户 1 1 一个 值2
用户 1 2 B value3
用户 1 1 B 值4
用户 1 2 B 值5
用户 1 1 A value6
用户 1 2 C 值 7
用户 1 1 D 值 8
用户 1 2 A 值9

最后的 table 应该是这样的:

决赛TABLE

用户 人数 类型 价值 类型更改
用户 1 2 B value3 从 A 到 B
用户 1 1 A value6 从 C 到 A
用户 1 2 A 值9 从 D 到 A

你可以先join TABLE1和TABLE2,然后使用filter来获取类型不同的行。接下来创建一个 DerivedColumn 以生成 Type Change 列。最后,使用Select转换保留你需要的列。

详情:

  1. 创建到 TABLE1 和 TABLE2 的连接转换。

  1. 过滤类型不同的行。表达式:source2@Type != source1@Type

  1. 添加类型更改列。表达式:concat('from ',source1@Type,' to ', source2@Type)

  1. 使用 Select 转换保留您需要的列。

数据预览: