PySpark:将JSON DataFrame中的字典转换为单独的列

kpbwa7wx  于 2023-06-21  发布在  Spark
关注(0)|答案(1)|浏览(167)

我有一个JSON文件,其中包含一个类似于以下内容的字典:"object1":{"status1":388.646233,"status2":118.580561,"status3":263.673222,"status4":456.432483}
我尝试使用PySpark解析出status1status2status3status4以分离列。

我的尝试:

F.explode(F.col('object1'))
.withColumn('status1', F.split(F.col('object1'))

预期效果:

| 状态1|状态2|状态3|状态4|
| - -----|- -----|- -----|- -----|
| 388.646233| 118.580561| 263.673222| 456.432483|

ifmq2ha2

ifmq2ha21#

您可以使用Pipeline Builder并使用名为Extract rows from a JSON file的转换。
请注意,如果您在数据集中已经有一个JSON/Struct作为一个列,那么还有其他转换,如Parse out all fields of a Struct,可以自动完成此操作。
如果您已经使用代码存储库而不是管道构建器,则可以使用F.from_json(jsonStringcolumn,schema)documentation可在线获得)。

相关问题