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

时间:2020-08-18 17:15:12

标签: python json apache-spark pyspark flatten

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

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

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

1 个答案:

答案 0 :(得分:0)

只需选择所需的列

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