gpt4 book ai didi

amazon-web-services - Pyspark 与 AWS Glue 在多个列上连接创建重复项

转载 作者:行者123 更新时间:2023-12-02 03:54:54 27 4
gpt4 key购买 nike

我在 AWS Glue 中有两个表,table_1 和 table_2,它们具有几乎相同的架构,但是 table_2 有两个附加列。我试图将这两个表在相同的列上连接在一起,并添加 table_2 特有的列,并为架构不包含这些值的“旧”数据添加空值。

目前,我可以使用类似于以下内容的方式连接两个表:

joined_table = Join.apply(table_1, table_2, 'id', 'id')

其中第一个“id”是 table_1 中的 id 列,第二个“id”是 table_2 中的 id 列。此调用成功地将表连接为一个表,但是,生成的 join_table 具有匹配列的重复字段。

我的两个问题是:

  1. 如何利用 AWS Glue 作业与 Pyspark 来连接两个表中匹配的所有列,以便在添加新字段时不存在重复的列?
  2. 此示例调用仅接受“id”列,因为我试图让它正常工作,但是,我想传递两个表中匹配的所有列。如何将列列表传递给此 Join.apply 调用?我知道直接来自 Pyspark 的可用方法,但是,我想知道是否有特定于 AWS Glue 作业的方法,或者我是否需要在 AWS Glue 中执行某些操作才能直接利用 Pyspark 功能。

最佳答案

我发现我需要重命名 table_1 中的列,然后在 Join.apply 调用从连接表中删除旧列后缺少对 .drop_fields 的调用。

此外,您可以传入列名称列表,而不是我试图在问题中使用的单个“id”列。

关于amazon-web-services - Pyspark 与 AWS Glue 在多个列上连接创建重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48773064/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com