我有一个具有以下架构的数据框:
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
我正在努力做到这一点,对此我将非常感谢。谢谢!
答案 0 :(得分:0)
只需选择所需的列
df.select('first_name','last_name','details.university','details.subjects.subject1',
'details.subjects.subject2','grades.sem1','grades.sem2')