pyspark将一些列作为嵌套结构数组的Dataframe展平

fiei3ece  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(497)

我有一个具有以下模式的Dataframe:

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

我正在努力做到这一点,我真的很感谢你的帮助。谢谢您!

z4bn682m

z4bn682m1#

只需选择所需的列

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

相关问题