如何在一行中包含多个字典的PySpark列



我有一个spark数据框架,其中一列有多个字典:

<表类> id 结果 tbody><<tr>1{"key1":"一","key2":"b"},{"key1":"d","key2":"e"},{"key1":"m","key2":"n"}2{"key1":"r","key2":"年代"},{"key1":"t","key2":' u '}

首先使用from_json函数将result列转换为结构结构数组,然后使用inline函数将其展开

json_schema = """
array<struct<key1:string,key2:string>>
"""
df = df.withColumn('result', F.from_json(F.concat(F.lit('['), 'result', F.lit(']')), json_schema)) 
.selectExpr('id', 'inline(result)')
df.show(truncate=False)

最新更新