使用“反转置列为行”转换 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用“反转置列为行”转换

反转置转换将列转换为新列的值,为每个唯一值生成一行。它与转置相反,但请注意,它并不等效,因为它无法将聚合的具有相同值的行分隔开来,也无法将组合拆分为原始列(您可以稍后使用拆分转换来做到这一点)。例如,如果您具有以下表:

de uk us
2020 Jan 42 32 64
2020 Feb 11 67 18
2021 Jan 90

您可以将“de”、“uk” 和“us”列反转置为值为“金额”的“国家/地区”列中,然后得到以下内容(出于说明起见,此处排序):

country amount
2020 Jan uk 32
2020 Jan de 42
2020 Jan us 64
2020 Feb uk 67
2020 Feb de 11
2020 Feb us 18
2021 Jan us 90

请注意,默认情况下不会生成具有空值的列(“de”和“2021 年 1 月的 uk”)。您可以启用该选项以获得:

country amount
2020 Jan uk 32
2020 Jan de 42
2020 Jan us 64
2020 Feb uk 67
2020 Feb de 11
2020 Feb us 18
2021 Jan us 90
2021 Jan de
2021 Jan uk
要添加“反转置列为行”转换,请执行以下操作:
  1. 打开资源面板,然后选择反转置列为行将新转换添加到作业图。添加节点时选择的节点将是其父节点。

  2. (可选)在节点属性选项卡上,输入任务图中节点的名称。如果尚未选择父节点,请从 Node parents (父节点) 列表中选择一个节点,用作转换的输入源。

  3. 转换选项卡上,输入要创建的新列,以保存选择反转置的列的名称和值。

    屏幕截图显示了“反转置列为行”转换的“转换”选项卡。