

# 查找递增匹配项
<a name="machine-learning-incremental-matches"></a>

借助查找匹配项功能，您可以识别数据集中的重复或匹配记录，即使记录没有公共唯一标识符且没有完全匹配的字段也是如此。查找匹配项的初始版本将转换单个数据集中识别出来的匹配记录。在向数据集添加新数据时，必须将其与现有的干净数据集合并，然后对整个合并的数据集重新运行匹配。

递增匹配功能可使将递增记录与现有已匹配数据集进行匹配变得更加简单。假设您要将潜在客户数据与现有客户数据集进行匹配。递增匹配项功能通过将结果合并到单个数据库或表中，使您能够灵活地将成千上万的新潜在客户与潜在客户和客户的现有数据库进行匹配。通过仅匹配新数据集和现有数据集，查找递增匹配项优化可缩短计算时间，同时还可降低成本。

递增匹配的用法与查找匹配项类似，如 [教程：使用 AWS Glue 创建机器学习转换](machine-learning-transform-tutorial.md) 中所述。本主题仅确定了与递增匹配的差异。

有关更多信息，请参阅有关 [递增数据匹配](https://aws.amazon.com/blogs/big-data/incremental-data-matching-using-aws-lake-formation/)的博客文章。

## 运行增量匹配任务
<a name="machine-learning-incremental-matches-add"></a>

对于以下过程，假设以下情况：
+ 您已将现有数据集爬取到 *first\$1records* 表中。*first\$1records* 数据集必须是匹配的数据集，或者是匹配作业的输出。
+ 您已使用 AWS Glue 2.0 版创建并训练了 Find matches（查找匹配项）转换。这是支持递增匹配项的唯一 AWS Glue 版本。
+ ETL 语言是 Scala。请注意，还支持 Python。
+ 已生成的模型名为 `demo-xform`。

1. 将递增数据集爬取到表 *second\$1records*。

1. 在 AWS Glue 控制台的导航窗格中，选择 **Jobs (任务)**。

1. 选择 **Add job (添加任务)**，然后执行向导中的步骤以使用生成的脚本创建 ETL Spark 任务。为转换选择以下属性值：

   1. 对于 **Name**（名称），选择 **demo-etl**。

   1. 对于 **IAM role**（IAM 角色），选择对 Amazon S3 源数据、标签文件和 [AWS Glue API 操作](https://docs.aws.amazon.com/glue/latest/dg/create-an-iam-role.html)拥有权限的 IAM 角色。

   1. 对于 **ETL language (ETL 语言)**，选择 **Scala**。

   1. 对于 **Script file name**（脚本文件名称），选择 **demo-etl**。这是 Scala 脚本的文件名称。

   1. 对于 **Data source**（数据源），选择 **first\$1records**。您选择的数据源必须与机器学习转换数据源架构匹配。

   1. 对于 **Transform type (转换类型)**，选择 **Find matching records (查找匹配记录)** 以使用机器学习转换来创建任务。

   1. 选择递增匹配选项，对于 **Data Source**（数据源），选择名为 **second\$1records** 的表。

   1. 对于 **Transform**（转换），选择 **demo-xform**（任务所使用的机器学习转换）。

   1. 选择**Create tables in your data target**（在数据目标中创建表）或 **Use tables in the data catalog and update your data target**（使用数据目录中的表并更新您的数据目标）。

1. 选择 **Save job and edit script (保存任务和编辑脚本)** 以显示脚本编辑器页。

1. 选择 **Run job (运行任务)** 以开始任务运行。