分解包含 JSON 的 Spark Dataframe 列

Explode Spark Dataframe column containing JSON

我在包含 JSON 对象的数据框中有一列。对于我的数据框中的每一行,我想提取 JSON,解析它并提取某些字段。提取后,我想将字段作为新的列元素附加到行中。

我查看了 DataFrame 上可用的 explode() 方法以及 foreach()flatMap()map(),但无法辨别哪个是更适合这种类型的处理。

地图可能就是您所需要的。使用它,您可以解析 json、select 所需的字段,然后 return 包含这些附加列的新行。

一般来说,map 用于 1:1 的用户定义函数(例如,每个输入行对应 1 个输出行)。 Flatmap 用于 1:n 的用户定义函数(其中每一行可以 return 任意数量的行)