PySpark 将对象数组(JSON 格式)解析为一列 df



我有一个嵌套的JSON对象数组,如下所示:

[
{
"a": 1,
"n": {}
}
]

我想用一列将此 JSON 文件(多行(读入 Spark 数据帧。其中列具有字符串类型并包含 JSON 对象:

+----------+
|   json   |
+----------+
| {"a": 1, |
| "n": {}} |
+----------+

我尝试执行以下操作:

schema = StructType([StructField("json", StringType(), True)])
spark.read.json('test.json', multiLine=True).show()

但它没有用。在 PySpark 中是否有任何选项可以做到这一点?

自己找到了解决方案:

json_schema = StructType([
StructField("json", StringType(), True)
])
df.toJSON().map(lambda x: [x]).toDF(schema=json_schema).show()

最新更新