联接数据集 - Amazon Glue Studio
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

联接数据集

Join 转换允许您将两个数据集合成一个数据集。您可以在每个数据集的架构中指定键名称以进行比较。输出 DynamicFrame 包含键符合联接条件的行。每个数据集中满足连接条件的行将合并为输出 DynamicFrame 中的单一行,其中包含在任一数据集中找到的所有列。

将 Join 转换节点添加到任务图

  1. 如果只有一个可用的数据源,则必须向任务图中添加新的数据源节点。有关更多信息,请参阅 将节点添加到任务图

  2. 为联接选择源节点。(可选)在可视化编辑器的顶部工具栏中选择 Transform (转换),然后选择 Join 将新转换添加到任务图。

  3. Node properties (节点属性) 选项卡上,输入任务图中节点的名称。

  4. 在标题 Node parents (父节点) 下的 Node properties (节点属性) 选项卡中,添加一个父节点,以便有两个数据集为联接提供输入。父节点可以是数据源节点,也可以是转换节点。

    注意

    一个联接只能有两个父节点。

  5. 选择 Transform (转换) 选项卡。

    如果您看到一条消息,指出有存在冲突的键名称,您可以执行以下操作:

    • 请选择 Resolve it (解决),自动将 ApplyMapping 转换节点添加到您的任务图。ApplyMapping 节点会为数据集中与其他数据集中的键同名的键添加前缀。例如,如果使用默认值 right,则右侧数据集中与左侧数据集中的键同名的键都重命名为 (right)key name

    • 在任务图中的前面手动添加转换节点,以删除或重命名冲突的键。

  6. Join type (联接类型) 列表中选择联接类型。

    • Inner join (内部联接):对于基于联接条件的每个匹配项,返回包含来自两个数据集的列的行。不会返回不满足联接条件的行。

    • Left join (左侧联接):左侧数据集中的所有行,以及右侧数据集中满足连接条件的行。

    • Right join (右侧联接):右侧数据集中的所有行,以及左侧数据集中满足连接条件的行。

    • Outer join (外部联接):两个数据集中的所有行。

    • Left semi join (左半联接):左侧数据集中基于连接条件在右侧数据集中具有匹配项的所有行。

    • Left anti join (左反联接):左侧数据集中基于连接条件在右侧数据集中没有匹配项的所有行。

  7. 在标题 Join conditions (联接条件) 下的 Transform (转换) 选项卡中,选择 Add condition (添加条件)。从每个数据集中选择要比较的属性键。比较运算符左侧的属性键称为左侧数据集,右侧的属性键称为右侧数据集。

    对于更复杂的联接条件,您可以多次选择 Add condition (添加条件),添加其他匹配键。如果您意外添加了条件,您可以选择删除图标( 
                An outline of a trash can
              )将其删除。

  8. (可选)配置转换节点属性后,您可以选择节点详细信息面板中的 Output schema (输出架构) 选项卡,查看数据的修改架构。当您首次为任务中的任何节点选择此选项卡时,系统会提示您提供 IAM 角色以访问数据。如果您尚未在 Job details (任务详细信息) 选项卡上指定 IAM 角色,系统会提示您在此处输入 IAM 角色。

  9. (可选)配置节点属性和转换属性后,您可以选择节点详细信息窗格中的 Data preview (数据预览) 选项卡来预览已修改的数据集。当您首次为任务中的任何节点选择此选项卡时,系统会提示您提供 IAM 角色以访问数据。使用此功能会产生相关费用,并且一旦您提供 IAM 角色,则会立即开始计费。

有关连接输出架构的示例,请考虑使用以下属性键在两个数据集之间进行联接:

Left: {id, dept, hire_date, salary, employment_status} Right: {id, first_name, last_name, hire_date, title}

使用 = 比较运算符将联接配置为匹配 idhire_date 键。

因为两个数据集都包含 idhire_date 键,所以您选择 Resolve it (解决) 可自动将前缀 right 添加到正确数据集中的键。

输出架构中的键如下:

{id, dept, hire_date, salary, employment_status, (right)id, first_name, last_name, (right)hire_date, title}