PySpark展平数据框具有一些列作为嵌套结构的数组

问题描述

我有一个具有以下架构的数据框:

root
|-- first_name: string
|-- last_name: string
|-- details: array
|    |-- element: struct
|    |    |-- university: string
|    |    |-- subjects: struct
|    |    |    |-- subject1: string
|    |    |    |-- subject2: string
|-- grades: array
|    |-- element: struct
|    |    |-- sem1: string
|    |    |-- sem2: struct

并且我想将其展平为以下架构,以便不再具有任何结构,而是将数组作为独立列。

root
|-- first_name: string
|-- last_name: string
|-- details.university: array
     |-- element: string
|-- details.subjects.subject1: array
     |-- element: string
|-- details.subjects.subject2: array
     |-- element: string
|-- grades.sem1: array
     |-- element: string
|-- grades.sem2: array
     |-- element: string

我正在努力做到这一点,对此我将非常感谢。谢谢!

解决方法

只需选择所需的列

df.select('first_name','last_name','details.university','details.subjects.subject1','details.subjects.subject2','grades.sem1','grades.sem2')

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...