我有一个像这样的Dataframe
df.printSchema()
root
|-- id: integer (nullable = true)
|-- data: struct (nullable = true)
| |-- foo01 string (nullable = true)
| |-- bar01 string (nullable = true)
| |-- foo02 string (nullable = true)
| |-- bar02 string (nullable = true)
我想把它变成
root
|-- id: integer (nullable = true)
|-- foo: struct (nullable = true)
| |-- foo01 string (nullable = true)
| |-- foo02 string (nullable = true)
|-- bar: struct (nullable = true)
| |-- bar01 string (nullable = true)
| |-- bar02 string (nullable = true)
最好的办法是什么?
2条答案
按热度按时间ekqde3dh1#
您可以将struct函数与select一起使用,如下所示:
架构:
a5g8bdjr2#
您可以简单地使用struct pyspark函数。
与struct pyspark函数相关的附加说明:它可以获取字符串列名列表,以便只将列移动到结构中,或者需要表达式列表。