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

时间:2018-07-06 06:50:04

标签: json apache-spark pyspark

我有一个像这样的嵌套JSON对象数组:

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

我想将此JSON文件(多行)读取到带有一列的spark DataFrame中。该列具有 StringType 并包含一个JSON对象:

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

我尝试执行以下操作:

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

但是没有用。在PySpark中有什么选择吗?

1 个答案:

答案 0 :(得分:0)

自己找到了解决方案:

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