Я sh, чтобы собрать имена всех полей во вложенной схеме. Данные были импортированы из файла json.
Схема выглядит так:
root
|-- column_a: string (nullable = true)
|-- column_b: string (nullable = true)
|-- column_c: struct (nullable = true)
| |-- nested_a: struct (nullable = true)
| | |-- double_nested_a: string (nullable = true)
| | |-- double_nested_b: string (nullable = true)
| | |-- double_nested_c: string (nullable = true)
| |-- nested_b: string (nullable = true)
|-- column_d: string (nullable = true)
Если я использую df.schema.fields
или df.schema.names
, он просто печатает имена слоя столбца - ни один из вложенных столбцов.
Желаемый результат, который я хочу, - это список python, который содержит все имена столбцов, такие как:
['column_a', 'columb_b', 'column_c.nested_a.double_nested.a', 'column_c.nested_a.double_nested.b', etc...]
Информация существует там, если я хочу написать собственную функцию - но не хватает ли мне доли? Есть ли способ достичь того, что мне нужно?