您可以使用
arrays_zip
压缩两个阵列和
inline
以内联分解数组列值。
你也可以
内联
或
inline_outer
功能
df
.select(
$"name",
inline(
arrays_zip(
$"subject",
$"mark"
)
)
)
.show(false)
+----+-------+----+
|name|subject|mark|
+----+-------+----+
|abc |math |40 |
|abc |english|50 |
+----+-------+----+
或者
您也可以使用
explode_outer
或
explode
功能
df
.withColumn(
"zip",
explode_outer(
arrays_zip(
$"subject",
$"mark"
)
)
)
.select(
$"name",
$"zip.*"
)
.show(false)