View a markdown version of this page

使用“将行转置为列”转换 - AWS Glue

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

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

年 月 country 量
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

如果您将 amount 和 country 列转置为聚合列,则会根据原始 country 列创建新的列。在下面的表中,将会创建新的 de、uk 和 us 列,而不是 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. 在转换选项卡上,选择要聚合以生成新列值的数值列、要应用的聚合函数以及要将其唯一值转换为新列的列。

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