DatasetMatch - AWS Glue

DatasetMatch

检查主数据集中的数据是否与引用数据集中的数据匹配。使用提供的键列映射将两个数据集联接起来。如果您只想检查这些列中的数据是否相等,则可以提供其他列映射。请注意,要让 DataSetMatch 起作用,您的联接键应该是唯一的,并且不应为 NULL(必须是主键)。如果您不满足这些条件,则会收到错误消息:“提供的键映射不适合给定的数据帧”。如果您无法使用唯一的交集键,请考虑使用其他规则类型(例如 AggregateMatch)来匹配摘要数据。

语法

DatasetMatch <REFERENCE_DATASET_ALIAS> <JOIN CONDITION WITH MAPPING> <OPTIONAL_MATCH_COLUMN_MAPPINGS> <EXPRESSION>
  • REFERENCE_DATASET_ALIAS – 用于比较主数据集数据的引用数据集的别名。

  • KEY_COLUMN_MAPPINGS – 以逗号分隔的列名列表,这些列名构成了数据集中的键。如果两个数据集中的列名不相同,则必须使用 -> 分隔它们

  • OPTIONAL_MATCH_COLUMN_MAPPINGS – 如果您只想检查某些列中的匹配数据,则可以提供此参数。它使用与键列映射相同的语法。如果未提供此参数,我们将匹配所有剩余列中的数据。其余的非键列在两个数据集中必须具有相同的名称。

  • EXPRESSION — 针对规则类型响应运行以生成布尔值的表达式。有关更多信息,请参阅 Expressions

示例:使用 ID 列匹配集合数据集

以下示例规则使用“ID”列来检查主数据集中是否有超过 90% 与引用数据集相匹配。在本例中,它会比较所有列。

DatasetMatch "reference" "ID" >= 0.9

示例:使用多个键列匹配集合数据集

在以下示例中,主数据集和引用数据集的键列名称不同。ID_1ID_2 共同构成主数据集中的复合键。ID_ref1ID_ref2 共同构成引用数据集中的复合键。在这种情况下,您可以使用特殊语法来提供列名。

DatasetMatch "reference" "ID_1->ID_ref1,ID_ref2->ID_ref2" >= 0.9

示例:使用多个键列匹配集合数据集并检查特定列是否匹配

此示例建立在前一个示例的基础上。我们要检查是否只有包含金额的列匹配。此列在主数据集中名为 Amount1,在引用数据集中名为 Amount2。您希望完全匹配。

DatasetMatch "reference" "ID_1->ID_ref1,ID_2->ID_ref2" "Amount1->Amount2" >= 0.9