使用“数组转列”转换将数组中的元素提取到顶级列中
“数组转列”转换允许将数组类型的列的部分或全部元素提取到新列中。如果数组有足够的值可供提取,则转换将尽可能多地填充新列,也可以选择提取指定位置的元素。
例如,如果您有一个数组列“子网”,这是在 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 | |
[] |
要添加“数组转列”转换,请执行以下操作:
-
打开资源面板,然后选择数组转列将新转换添加到作业图。添加节点时选择的节点将是其父节点。
-
(可选)在节点属性选项卡上,输入任务图中节点的名称。如果尚未选择父节点,请从 Node parents (父节点) 列表中选择一个节点,用作转换的输入源。
-
在转换选项卡上,选择要提取的数组列,然后为提取的令牌输入新列的列表。
-
(可选)如果您不想使用数组令牌来分配给列,则可以指定要采用的索引,这些索引将按指定的相同顺序分配给列的列表。例如,如果输出列是“column1, column2, column3”,索引 为“4, 1, 3”,则数组的第四个元素将转到第 1 列,第一个元素进入第 2 列,第三个元素进入第 3 列(如果数组短于索引号,则将设置为 NULL 值)。