Dataframe Pyspark-如何将非等长json分解为列

Dataframe Pyspark-如何将非等长json分解为列,dataframe,apache-spark,pyspark,Dataframe,Apache Spark,Pyspark,例如,我有一个具有不同长度的非嵌套json的数据帧: 对于每个json,我有大约200个键。因此不可能使用pyspark.sql.functions.get\u json\u object id, json(string format) 1, {‘a’: 1, ‘b’:2, ‘c’:3, ...} 2, {‘a’: 1, ‘b’:2, ... } 3, {‘a’: 1 , ‘c’:3, ... } 我想将其分解为: id, a, b, c 1, 1, 2, 3 2, 1, 2, null 3,

例如,我有一个具有不同长度的非嵌套json的数据帧: 对于每个json,我有大约200个键。因此不可能使用
pyspark.sql.functions.get\u json\u object

id, json(string format)
1, {‘a’: 1, ‘b’:2, ‘c’:3, ...}
2, {‘a’: 1, ‘b’:2, ... }
3, {‘a’: 1 , ‘c’:3, ... }
我想将其分解为:

id, a, b, c
1, 1, 2, 3
2, 1, 2, null
3, 1, null, 3

谢谢你的回答。但我忘了说,我有大约200把钥匙。因此,我认为使用get_json_object()是不可能的。如果您知道它们的数据类型,那么就使用
from_json
。例如:
schema='struct'
,然后使用
F.from_json('json',schema)
。缺少的键应该用null填充。