我有一个 Dataframe ,在Pyspark中有以下嵌套:
>content: struct
importantId: string
>data: array
>element: struct
importantCol0: string
importantCol1: string
字符串
我需要以下输出:
| importantId|重要Col 0|重要Col 1|
| --|--|--|
| 10800005 |0397AZ| 0397AZ|
| 10800006 |0397BZ| 0397BZ|
我尝试了以下代码:df1 = df0.select(F.col('content.*'))
我得到了:
| importantId|数据|
| --|--|
| 10800005 |{importantCol0:0397AZ,importantCol1:0397AZ}|
| 10800006 |{importantCol0:0397BZ,importantCol1:0397BZ}|
我接着说:df2 = df1.select(F.col('importantId'), F.col('data.*')
个
但我得到以下错误:AnalysisException: Can only star expand struct data types. Attribute: ArrayBuffer(data).
个
有谁知道如何解决这个问题吗?我期待一种像结构一样扩展数组的方法
1条答案
按热度按时间bxgwgixi1#
让我们使用
inline
将结构体数组分解为列和行字符串
例如,
型