сглаживание вложенного Json в pyspark, где каждый тип массива будет отдельным фреймом данных
Взяв эту схему (фрейм данных json) в качестве примера:
root
|-- abstract: string (nullable = true)
|-- adx_keywords: string (nullable = true)
|-- asset_id: long (nullable = true)
|-- byline: string (nullable = true)
|-- column: string (nullable = true)
|-- des_facet: array (nullable = true)
| |-- element: string (containsNull = true)
|-- eta_id: long (nullable = true)
|-- geo_facet: array (nullable = true)
| |-- element: string (containsNull = true)
|-- id: long (nullable = true)
|-- media: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- approved_for_syndication: long (nullable = true)
| | |-- caption: string (nullable = true)
| | |-- copyright: string (nullable = true)
| | |-- **media-metadata**: array (nullable = true)
| | | |-- element: struct (containsNull = true)
| | | | |-- format: string (nullable = true)
| | | | |-- height: long (nullable = true)
| | | | |-- url: string (nullable = true)
| | | | |-- width: long (nullable = true)
| | |-- subtype: string (nullable = true)
| | |-- type: string (nullable = true)
|-- nytdsection: string (nullable = true)
|-- org_facet: array (nullable = true)
| |-- element: string (containsNull = true)
|-- per_facet: array (nullable = true)
| |-- element: string (containsNull = true)
|-- published_date: string (nullable = true)
|-- section: string (nullable = true)
здесь я хотел бы получить каждый тип массива как отдельный фрейм данных. Я могу разделить первые уровни, такие как des_facet, geo_facet и media, и поместить их в отдельные фреймы данных, но не могу сделать то же самое для второго уровня, например: медиа-метаданные в медиа (тип массива). Решение для извлечения вложенных массивов как отдельного фрейма данных было бы полезным.
заранее спасибо