问题描述
{
"marks": [
{
"subject": "Maths","mark": "80"
},{
"subject": "Physics","mark": "70"
},{
"subject": "Chemistry","mark": "60"
}
]
}
我需要将每个数组对象拆分为单独的 JSON 文件。有没有办法在火花壳中做到这一点。
解决方法
您可以分解结构体的标记数组,添加一个 ID 列,并编写由唯一 ID 列分区的 JSON 文件。
df.selectExpr("inline(marks)")
.withColumn("id",monotonically_increasing_id)
.repartition(col("id"))
.write
.partitionBy("id")
.json("output")