сглаживание вложенного 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, и поместить их в отдельные фреймы данных, но не могу сделать то же самое для второго уровня, например: медиа-метаданные в медиа (тип массива). Решение для извлечения вложенных массивов как отдельного фрейма данных было бы полезным.

заранее спасибо

0 ответов

Другие вопросы по тегам