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

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

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

将行转置为列转换允许您通过旋转选定列上的唯一值来聚合数字列,这些列会变成新列(如果选择了多个列,则将这些值串联起来以命名新列)。这样,行就可以合并,同时拥有更多的列,每个唯一值都有部分聚合。例如,如果您有按月和国家/地区划分的销售额数据集(为了便于说明而排序):

country amount
2020 Jan uk 32
2020 Jan de 42
2020 Jan us 64
2020 Feb uk 67
2020 Feb de 4
2020 Feb de 7
2020 Feb us 6
2020 Feb us 12
2020 Jan us 90

如果您将 amountcountry 列转置为聚合列,则会根据原始 country 列创建新的列。在下面的表中,将会创建新的 deukus 列,而不是 country 列。

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

相反,如果您想同时对月份和县进行转置,则会为这些列的值的每种组合获得一列:

year Jan_de Jan_uk Jan_us Feb_de Feb_uk Feb_us
2020 42 32 64 11 67 18
2021 90
要添加“将行转置为列”转换,请执行以下操作:
  1. 打开资源面板,然后选择将行转置为列将新转换添加到作业图。添加节点时选择的节点将是其父节点。

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

  3. 转换选项卡上,选择要聚合以生成新列值的数值列、要应用的聚合函数以及要将其唯一值转换为新列的列。

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