使用“数组转列”转换将数组中的元素提取到顶级列中 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用“数组转列”转换将数组中的元素提取到顶级列中

“数组转列”转换允许将数组类型的列的部分或全部元素提取到新列中。如果数组有足够的值可供提取,则转换将尽可能多地填充新列,也可以选择提取指定位置的元素。

例如,如果您有一个数组列“子网”,这是在 ip v4 子网上应用“拆分字符串”转换的结果,则可以将第一个和第四个位置提取到新列“first_octect”和“forth_octect”中。在本例中,转换的输出将是(请注意,最后两行的数组比预期的要短):

子网 first_octect fourth_octect
[54, 240, 197, 238] 54 238
[192, 168, 0, 1] 192 1
[192, 168] 192
[]
要添加“数组转列”转换,请执行以下操作:
  1. 打开资源面板,然后选择数组转列将新转换添加到作业图。添加节点时选择的节点将是其父节点。

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

  3. 转换选项卡上,选择要提取的数组列,然后为提取的令牌输入新列的列表。

    屏幕截图显示了“数组转列”转换的“转换”选项卡。
  4. (可选)如果您不想使用数组令牌来分配给列,则可以指定要采用的索引,这些索引将按指定的相同顺序分配给列的列表。例如,如果输出列是“column1, column2, column3”,索引 为“4, 1, 3”,则数组的第四个元素将转到第 1 列,第一个元素进入第 2 列,第三个元素进入第 3 列(如果数组短于索引号,则将设置为 NULL 值)。