选择前序的数据集节点,将其中有复杂嵌套结构的列进行展开,输出扁平化的数据集。
选择需要操作的前序数据集节点
提供快速跳转按钮,可以定位至该数据集节点的配置界面
选择此数据集中,需要展开哪一列,单选。
如果有多个需要展开的列,请配置多个展开节点。
支持的展开列的字段类型是有限制的,例如,普通的标量类型就无法展开,举例字符串“ABC”是无法展开的,需要先将字符串转为字符串列表['A', 'B', 'C'],才能展开。
注:字符串如何转列表,可以采取在【PY代码】节点中用【Python代码】实现,例如【list(str)】,也可以采取在【SQL转换】节点中用DuckDB的【SQL】语法实现,例如【SELECT split(‘ABC’, ‘’)】等方式,可自行查找对应语言的方法,不赘述。
本次支持的字段类型有以下三种,不同的类型,会决定展开的方式(横向、竖向、横竖向),对应底层的实现逻辑也不同。
形如[1,2]的结构,会纵向展开,行数增加;

形如{"col1": 1,"col2": 2}的结构,会横向展开,列数增加;
增加的列,列名是结构体中的key,值是key对应的value;

请注意,结构体是一种结构非常【严格稳定】的字段类型,能被推断为结构体的字段类型,此列的所有值的所有key的数量、位置,一定是固定的。要判断某列是否被推断为结构体类型,可以在来源数据集的调试结构的结构中看到,如果显示为STRUCT,则代表是结构体类型。

以下几种常见情况会导致列无法被推断为结构体类型:
1、数量不定,例如:

2、位置不定,例如:

形如[{"col1": 1, "col2": 2}, {"col1": 3, "col2": 4}]的结构,纵向和横向都会展开,行数和列数都会增加;

展开需要的列后,其他列的保留选项。
保留其他列:其他列不受展开的影响,保留。如果是纵向展开,有增行的情况,那么其他列增出的行会复制原行的值
选择列:多选要保留的其他列,不能和展开列重
不保留:不保留其他列,只保留展开列在展开之后的数据,如果展开之后,存在空行和重复行,则会去重
回到顶部
咨询热线
