我试图在pyspark中平展出一个复杂的模式。对于explode函数来说,数据太大了(我读到explode函数是一个非常昂贵的函数)。下面是我的模式-
|-- A: array (nullable = true)
| |-- element: array (containsNull = true)
| | |-- element: struct (containsNull = true)
| | | |-- B: string (nullable = true)
| | | |-- C: string (nullable = true)
我想把它展平
|-- A: array (nullable = true)
| |-- B: string (nullable = true)
| |-- C: string (nullable = true)
我试过了 df.select("A.*")
但我有个例外
: org.apache.spark.sql.AnalysisException: Can only star expand struct data types. Attribute: `ArrayBuffer(A)`;
提前谢谢!
1条答案
按热度按时间2hh7jdfx1#
检查以下代码。