如果我只是执行下面的操作,我会得到每个主题重复的 4 行标记。谁能在这里指点一下来解决这个问题。
df.withColumn("subject", explode($"subject")).withColumn("mark", explode($"mark"))
您可以使用
arrays_zip
压缩两个数组,并使用 inline
内联分解数组列值。
df.select($"name", inline(arrays_zip($"subject", $"mark"))).show(false)
+----+-------+----+
|name|subject|mark|
+----+-------+----+
|abc |math |40 |
|abc |english|50 |
+----+-------+----+