全部文档
文档中心数据流3.0节点数据集-转换展开

展开

选择前序的数据集节点,将其中有复杂嵌套结构的列进行展开,输出扁平化的数据集。

  • 选择需要操作的前序数据集节点

  • 提供快速跳转按钮,可以定位至该数据集节点的配置界面

选择此数据集中,需要展开哪一列,单选。

如果有多个需要展开的列,请配置多个展开节点。

支持的展开列的字段类型是有限制的,例如,普通的标量类型就无法展开,举例字符串“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}]的结构,纵向和横向都会展开,行数和列数都会增加;



展开需要的列后,其他列的保留选项。

  • 保留其他列:其他列不受展开的影响,保留。如果是纵向展开,有增行的情况,那么其他列增出的行会复制原行的值

  • 选择列:多选要保留的其他列,不能和展开列重

  • 不保留:不保留其他列,只保留展开列在展开之后的数据,如果展开之后,存在空行和重复行,则会去重

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send